Wenn Sie einen Konflikt lösen, dann führen Sie die Änderungen durch, dann machen Sie ein git diff, es zeigt Ihnen zwei Spalten von + 's und -'s, eins für "unseres" und eins für "ihres". Wie sehe ich angesichts eines Merge-Commits in der GIT-Geschichte eines Repos diese Auflösung, die von jemand anderem gemacht wurde? In anderen Fällen habe ich es schon einmal gesehen (in gitk, denke ich), aber ich kann es anscheinend nicht für diese SHA1, die ich habe, feststellen.Wie sehen/zeigen Sie eine Git Merge Konfliktlösung, die bei einem Merge Commit SHA1 durchgeführt wurde?
Antwort
Wenn Sie die Referenz kennen, zeigt git show <MERGE_COMMIT>
Ihnen die Auflösung (falls vorhanden) für die Zusammenführung Commit.
Verwenden Sie für das Protokoll git log -p -c
oder git log -p --cc
. Von der manpage von git log:
-c
With this option, diff output for a merge commit shows the differences from each
of the parents to the merge result simultaneously instead of showing pairwise
diff between a parent and the result one at a time. Furthermore, it lists only
files which were modified from all parents.
--cc
This flag implies the -c option and further compresses the patch output by
omitting uninteresting hunks whose contents in the parents have only two
variants and the merge result picks one of them without modification.
Ich habe das selbst herausgefunden, aber ich gebe dir trotzdem eine Stimme und ein Accept. – Pistos
Das funktioniert irgendwie. Ich sehe immer noch eine Reihe von Änderungen, die nur von einem der Merge-Köpfe eingeführt wurden, ich bin mir nicht sicher, ob es vielleicht daran liegt, dass ich zwei Merge-Commits hintereinander habe? Ich sehe alle uninteressanten Konfliktlösungen (die von kdiff3 gelöst wurden) und die interessanten. Ich bemerke, dass die interessanten Präfixe mit ++ im Gegensatz zu + oder - vorangestellt sind. – chrisortman
Leichter Bikeshed: Sie könnten diff3 oder kdiff3 verwenden, um die Zusammenführung in umgekehrter Richtung zu sehen, insbesondere wenn es sich um eine "böse" Verschmelzung handelte, bei der eine sekundäre Änderung eingeführt wurde, um den Konflikt zu lösen. (Achten Sie auf einen explodierenden Kopf, der versucht, zu sehen, wie er die Änderungen "löscht" ;-)
Offensichtlich wäre das "Basis" -Commit das gemischte Commit.
- 1. Machen Sie eine git Squash Merge und git merge wieder
- 2. Force Merge Commit und Vorlauf in Git-Merge
- 3. Wie finden Sie den vorherigen Merge-Commit?
- 4. Force Merge nach dem Zurücksetzen merge commit int git
- 5. Git: Merge Konflikt und Commit Nachricht
- 6. git - Merge eine Reihe von Commits als ein Commit
- 7. Merge GIT-Zweig ohne Commit-Protokoll
- 8. Erstellt Git-Pull immer ein Merge-Commit?
- 9. Git: Wie man Commits zerquetscht, die merge-commit dazwischen haben?
- 10. Wie kann ein Revert-Commit auch ein Merge-Commit sein?
- 11. Merge von einem anderen Repo Git
- 12. Git-Standard-Merge-Commit-Nachricht, die keine Konflikte enthält
- 13. git-merge-base gibt nur einen Commit zurück
- 14. Verhält sich git merge reapply auf einem anderen commit?
- 15. Git merge: eine Datei intakt, aber Rest der Commit verschmolzen
- 16. Wie „Merge Zweig‚name_of_branch‘in Commit-Nachrichten vermeiden?
- 17. Wie behebe ich ein unpushed merge commit (git)?
- 18. Git reverse commit eine Pushed-Merge in SourceTree
- 19. Merge 2 GIT-Zweige
- 20. Wie man den Pfad angibt, wenn man git show bei einem Merge-Commit ausführt
- 21. Git Remote Repository Merge
- 22. Dateilöschung auf einem Git-Merge beschränken
- 23. automatische Git merge
- 24. Git - Merge vs Rebase
- 25. git pull - nicht merge Nachricht
- 26. Templating git merge Standardmeldung
- 27. Binärkonflikt mit Git Merge
- 28. Git merge meldet Submoduländerungen nicht
- 29. git merge, beide halten
- 30. git Schuld: korrekte Autor nach dem Merge
„um eine git diff tun, es zeigt Ihnen zwei Spalten von + 's und -'s, eine für‚unsere‘und eine für‚ihre‘“ ... es tut das? Wie hast du deinen Git konfiguriert? – gcbenison
@gcbenison: Es tut dies nur, wenn Sie einen Zusammenführungskonflikt haben, bevor Sie Ihre Konfliktlösung festgelegt haben. Ich denke nicht, dass das irgendeine spezielle Konfiguration erfordert. – Pistos