Vergleichen von Unterschieden zwischen einer Rebase in Git
Angenommen, ich habe gerade die Niederlassung neu gegründetfoo
aufmaster
mit Konflikten. Ich möchte sicherstellen, dass ich den Inhalt von nicht versehentlich beschädigt habefoo
während der Konfliktlösung durch Einführung zusätzlicher Änderungen oder Verlust von Änderungen (die nicht für die Konfliktlösung geeignet sind). Ich habe dies getan über:
diff -u <(git diff `git merge-base master foo@{1}` foo@{1}) \
<(git diff `git merge-base master foo ` foo )
(Update: oder das Äquivalent...
Syntax fürgit-diff
woran ich gerade erinnert wurde :)
diff -u <(git diff master...foo@{1}) <(git diff master...foo) | mate
Dies zeigt mir alle Änderungen, die aufgetreten sindmaster..foo
als Patch betrachtetDas ist genau das, was ich überprüfen möchte, um minimal zu sein. Der Aufruf ist jedoch komplex und die Ausgabe ist nicht ganz einfach zu interpretieren.
Gibt es einen besseren Weg, um diese Aufgabe zu erledigen - dieselben Informationen bereitzustellen, aber mit einer besseren Methode oder einem besseren Format - oder sollte ich einfach das oben Genannte in ein Skript einbinden?