Was ist der Unterschied zwischen, wenn ich die origin/branchX
in branchY
fusioniere und branchX
in branchY
fusioniere?git Zusammenführung von Ursprung/Zweig vs. Zusammenführung von Zweig lokal
Antwort
origin/branchX
ist ein Remote-Tracking-Zweig und wird jedes Mal, wenn Sie eine git fetch
machen, mit Änderungen aus dem Remote-Repository aktualisiert. Auf der anderen Seite ist branchX
Ihre lokale Version dieser Branche. branchX
ist möglicherweise nicht mehr synchron mit origin/branchX
, was wiederum nicht mit den Daten im Remote-Repository übereinstimmt.
Daher hängt der Unterschied bei der Durchführung einer Zusammenführung von den Unterschieden in den verschiedenen Inkarnaten von branchX
ab. Wenn Sie die neueste branchX
in Ihre branchY
zusammenführen möchten, dann sollten Sie folgendes tun:
git fetch origin # update remote tracking branchX
git checkout branchY # switch to branchY
git merge origin/branchX # merge
Wenn Sie wollen auch Ihren lokalen branchX
im Prozess aktualisieren, können Sie dies tun:
git checkout branchX
git pull origin branchX
git checkout branchY
git merge branchX
Sie müssen jedoch möglicherweise Ihre lokale Kopie von branchX
in branchY
zusammenführen, ohne einen Zweig mit dem Remote zu synchronisieren. Dies wäre ein typischer Anwendungsfall, wenn z. B. neue Änderungen in branchX
auf der Fernbedienung eintraten und Sie diese noch nicht in branchY
bringen wollten. In diesem Fall würden Sie die Zusammenführung wie folgt durchführen:
Beim Zusammenführen des Remote-Zweiges - Sie erhalten es mit allen Remote-Änderungen, die von anderen Entwicklern übernommen wurden, aber noch nicht in Ihrem lokalen Zweig (ohne Ihre lokalen Änderungen, die noch nicht übertragen wurden) (remote Branch)
Und beim Zusammenführen von lokalen Zweig werden Sie es mit allen Änderungen zusammenführen, die Sie lokal vorgenommen haben, die noch nicht auf Remote-Zweig verschoben wurden, aber ohne alle Remote-Änderungen, die von anderen Entwicklern angewendet wurden. aber das ist vielleicht noch nicht in Ihrer lokalen Filiale.
-*-*-* branchX
*-*-*-*-/-*-*-*-*-* Origin/branchX
Stellen Sie sich diese Ihre lokalen und Remote-Niederlassungen sind, haben Sie Änderungen zweimal zur Filiale verpflichtet und jemand hat 5 Commits hinzugefügt und geschoben Repo, so dass Sie noch nicht die mit 5 auf Ihrer lokalen Niederlassung haben.
- 1. SVN - automatische Zusammenführung von Stamm in Zweig
- 2. Git Interaktive Zusammenführung?
- 3. Git ziehen (von Gitlab) nach der Zusammenführung wird nicht zulassen
- 4. Git/Sourcetree grundlegende Verzweigung und Zusammenführung
- 5. Git-Zusammenführung Commits von einer bestimmten Upstream-Version
- 6. Crystal Report + SVN-Zusammenführung von Zweigen
- 7. Verlustfreie Zusammenführung von PDFs (PHP)
- 8. Zusammenführung von zwei jQuery-Auswahlen
- 9. Lose Zusammenführung von XML-Dokumenten
- 10. Zusammenführung von Schlüssel-Wert-Speichern
- 11. Cherry-Wählen Sie eine Zusammenführung
- 12. Rebase auf Upstream-Änderungen mit nicht-trivialer Zusammenführung verpflichtet lokal
- 13. Revert eine Zusammenführung nach
- 14. Git - zu Verzweigungen nach fehlgeschlagener Zusammenführung zurückkehren?
- 15. Git: Lösen Sie Zusammenführungskonflikte, ohne eine Zusammenführung durchzuführen
- 16. Git Rebase schlägt ständig fehl und erfordert manuelle Zusammenführung Intervention
- 17. 10 Git: Wie man eine Zusammenführung "rückgängig machen"
- 18. Zurücksetzen einer Zusammenführung TFS 2015
- 19. Wie bevorzugen Sie Dateien aus einem Zweig während einer Zusammenführung?
- 20. TFS2013 Zusammenführung der Verzweigung
- 21. git: Wie überschreibe ich alle lokalen Änderungen bei der Zusammenführung?
- 22. Schwerwiegender Fehler nach GitHub automatische Zusammenführung
- 23. Warum hat Git-Rebase oft weniger Zusammenführungskonflikte als eine Zusammenführung?
- 24. Nicht-triviale Zusammenführung von zwei Tabellen
- 25. Schwierige Zusammenführung von jsonb Objektarray und Spalten
- 26. Zusammenführung von 2 Datentabellen in vb.net
- 27. Effizientere Art der Zusammenführung von zwei Arrays
- 28. Bedingte Zusammenführung von anderen mehreren Pandas DataFrames
- 29. Zusammenführung von zwei RTF-Dateien in Java
- 30. GhostScript PDF-Zusammenführung (Verlust von bearbeitbaren Feldern)
Sie könnten auf verschiedene Dinge hinweisen, z. wenn Git deine Filiale als hinterher zeigt. Beachten Sie auch, dass Ihr Ursprung/branchX möglicherweise nicht auf dem neuesten Stand ist, z. wenn du 'git fetch' schon länger nicht mehr benutzt hast. – Whymarrh