Frage

Ich hatte eine Subversion für meine Quellcodeverwaltung unter Verwendung von, mit git kombiniert NUR bereitstellen (push) zu Heroku. Mein Muster war: Aktualisieren Sie lokale Arbeitskopie nach neuestem Master an entfernten Subversion-Repository. Dann haben git commit und git push Heroku (Git gesetzt wurde .svn Sachen zu ignorieren). Diese Arbeitskopie habe ich nur Heroku zu schieben, ich hatte einen anderen Subversion-Ordner für die Live-Entwicklung zu tun, und für die Verfolgung an den Remote-Subversion-Repository zu begehen.

Ich habe eingeschaltet nun vollständig git. Ich habe einen vollständigen Import von Subversion in eine neue Remote-git-Repository. Ich habe erfolgreich auf meinem lokalen Arbeitskopie des git Repo arbeitet (Ursprung), und schieben sich ändert, wenn es mir passt (auch mit einem anderen Entwickler zusammenarbeiten, aber ich laufen im Grunde den Betrieb).

Meine Frage:

Ich möchte nun zu meinen anderen git Arbeitskopie zurückzugeben, das hatte ich vorher Heroku schieben wurde mit (das hat .svn / Sachen drin als auch). Ich denke da an nur meine neue git-Repository als [Ursprung] Eintrag in dem .git / config Hinzufügen .. die neuesten Änderungen aus meinem neuen git remote ziehen und zu Heroku drängen, aber ich frage mich, ob es wird ausflippen .

Es wird versuchen, fusionieren und verwirrt nicht wahr? Und selbst wenn der Zug gearbeitet hat, wird die Heroku Fern verwirrt über einen Push, die von einem neuen git Repo entstanden?

kann ich haue (löschen), die Arbeitskopie (zur Heroku von Subversion schieben) und einen neuen Klon meines neuen Git Repository machen, fügen Sie dann Heroku zum .git / config. Aber ich mache mir Sorgen drängen zu Heroku noch wird es dazu führen, verwirrt zu bekommen, da ich aus einer anderen Arbeitskopie drücken verwendet.

Jede Beratung wäre toll!

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Wenn ich Dich richtig verstehe, wollen Sie die ehemalige SVN-Repository als Arbeitskopie zurück zu wechseln, und Sie wollen die alte SVN Geschichte zu bewahren?

Es gibt ein paar Optionen zur Verfügung.

  1. Drücken Sie die letzten Änderungen aus dem neuen Git-Repository Heroku, dann zum alten Repository wechseln und ziehen von Heroku. Dies bringt Sie alte Repository auf dem neuesten Stand.

  2. Sie vorübergehend die URL ändern, in der alten Repository-Konfigurationsdatei auf dem lokalen Pfad des neuen Repository zu zeigen. Ziehen Sie die letzten Änderungen von dort, und dann auf die Heroku URL wieder zurück, wenn Sie fertig. Dies wird auch Ihr altes Repository bringen up to date.

Die erste Option ist die zweckmäßigste, und die zweite ist die lange herum. So oder so, werden Sie das gleiche Nettoergebnis einer aktuellen lokalen Repository haben alle Geschichte enthält. Der Überschuss neue Repository kann in jedem Fall entsorgt werden.

Edit: Um richten Sie Ihre Bedenken, ob Heroku über den Ursprung der Festschreibung, in Kürze kümmern wird, nicht das Repository auf Heroku ist eine weitere git-Repository, das Festschreibungen von authentifizierten Benutzern akzeptiert.

Solange die Anmeldeinformationen korrekt sind, wird der Ursprung Repository keine Rolle. Das ist das Schöne an DVCS - gibt es nicht eine kontrollierende oder bestechlich Repository - Es ist durchaus möglich, dass Sie jetzt von Heroku auf einer anderen Maschine klonen zu und weiterhin von dort aus arbeiten. Solange Ihre Anmeldeinformationen identisch sind, zeigt die Geschichte jeder und alle verpflichtet Sie schieben, aber kümmert sich nicht darum, wo aus.

Wenn Ihr Wunsch ein sauberes Repository verwenden Sie einfach zu handhaben ist, wird der neue Favorit sein. Der alt man kann ohne negative Auswirkungen gelöscht werden.

Um dies zu beweisen - überprüfen Sie den SHA-1-Hash-Wert für eine Festschreibung in den neuen und alten Repositories, und Sie werden sehen, dass sie identisch sind. Der Hash ist einzigartig für alle Commits und kann verwendet werden, um den Code Integrität jederzeit zu überprüfen. Es wird nie für einen bestimmten Hash mehr als eine Änderung sein.

  • Als Seite beachten, das Repository ist tragbar, dass es völlig eigenständig ist, und kann sich frei auf dem Lagerraum bewegt werden, oder auch auf externe Speicher wie einem USB-Stick verwendet werden.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top