Ich habe ein Remote-Repository, das ich gezogen habe und verzweigen bin. Ich möchte den neuen Zweig mit Änderungen am Master auf dem Laufenden halten. Ich denke über den folgenden Workflow nach, macht es Sinn oder gibt es bessere Möglichkeiten, dies zu tun?Einen Zweig auf dem neuesten Stand mit Master halten
Initial Verzweigung und Kasse:
git checkout master git pull git checkout -b my_branch
einige Arbeit in
my_branch
tut, dann in regelmäßigen Abständen:git checkout master git pull git checkout my_branch git merge master --no-ff
Wiederholen Sie Schritt 2 je nach Bedarf, mit periodischen Schüben auf dem Fernbedienung my_branch
.
Dann, wenn Sie bereit für eine Zusammenführung zurück:
git checkout master
git merge my_branch --no-ff
Ton ok?
Danke für Ihre (und Christoph) Antwort. Um Ihre Frage zu beantworten, gibt es keinen Grund für die periodischen Stöße, außer als Backup für den Fall, dass meine Box stirbt. Und für den Fall, dass jemand möchte, dass mein Code seine eigene Arbeit mit-- nicht ganz wahrscheinlich, bis mein Code Master wird, und eine Rebase auf einer öffentlichen Filiale kann zu Schwierigkeiten führen, so verstehe ich (aber bin mir nicht sicher, warum genau .) – larryq
Rebases sind ein zweischneidiges Schwert. Auf der einen Seite führen sie oft zu einer viel klareren Geschichte. auf der anderen Seite erstellen sie völlig neue Commits mit grundsätzlich dem alten Inhalt. Wenn Sie Ihre Commits schieben, könnte jemand anders (theoretisch) ihre eigenen Änderungen an diesen Commits vornehmen. Wenn Sie sich später dazu entscheiden, Ihre Commits neu zu setzen, machen Sie grundsätzlich die alten Commits und alle darauf basierenden Änderungen ungültig. - Auch wenn Sie Ihren alten Zweig entfernen, kann der andere Ihre Änderungen übernehmen und somit auch Ihre alten Änderungen übernehmen, was zu doppelten Commits und einem resultierenden Chaos führt. :) – michas
Nochmals vielen Dank. Ich habe über 'git pull --rebase 'gelesen und bin nicht zu 100%, was passiert, wenn ich es momentan in (sagen wir)' my_branch' nenne. In diesem Fall zieht der Befehl von der "my_branch" -Fernbedienung und dann gegen ... welche Verzweigung? Nicht Master, nehme ich an, da ich es nirgendwo im Kommando erwähnt habe. Also muss es gegen 'my_branch' rebasieren, was für mich ein wenig komisch klingt, da ich immer zwei getrennte Zweige rebasiert habe. Aber ich nehme an, es ist möglich, und jetzt, wo ich darüber nachdenke, warum nicht? – larryq