Ich benutze immer git commit --verbose
. Gibt es eine entsprechende Option/Einstellung, die git dazu bringt, mir den Unterschied zu zeigen, wenn ich währenddessen eine Commit-Nachricht umformuliere? git rebase --interactive
?
Wie mache ich git show diff, wenn ich eine Commit-Nachricht während rebase -i umformuliere?
Gemäß Ihren Antworten in den Kommentaren wird ausgeführt git diff HEAD^
wird dir nicht weiterhelfen, außer du willst nur den letzten Commit überarbeiten.
Aber in diesem Fall ist ein Rebase ohnehin das falsche Werkzeug. Stattdessen können Sie einfach tun git commit --amend --verbose
ohne Änderungen im Index und bearbeiten Sie dann die Commit-Nachricht, wobei Sie die Diff-Ansicht haben, nach der Sie fragen.
Wenn Sie eine ältere oder mehrere Commit-Nachrichten mit der Diff-Ansicht neu formulieren möchten, verwenden Sie einfach die edit
Strophe statt der reword
Strophe und dann verwenden git commit --amend --verbose
ohne Codeänderungen im Index bei jedem der Commits.
reword
sollte nur eine Abkürzung für die Verwendung sein edit
und dann tun git commit --amend -m "new message"
ohne Änderungen, die nur die Commit-Nachricht ändern.
Sie können auch definieren git commit --amend --verbose
oder git commit --verbose
als alias spart man sich so tipperei und kann zB einfach machen git cav
oder git c --amend
.
-
Anstatt die zu verwenden
edit
Befehl in einer interaktiven Rebase, die Sie zur Shell bringt, wo Sie tippen müssengit commit --amend --verbose
um den Commit zu bearbeiten und danngit rebase --continue
Sie können einfach eine Zeile nach dem jeweiligen Commit mit hinzufügenexec git commit --amend --verbose
. Dadurch gelangen Sie direkt in den Editor für diesen Commit und fahren mit dem Rebase fort, nachdem Sie den Editor verlassen haben.– akran
4. März 2020 um 1:22 Uhr
So zeigen Sie den Unterschied:
git -c commit.verbose=true rebase --interactive
Um alle Commits ausführlich zu machen, ohne sie angeben zu müssen -c commit.verbose=true
fügen Sie dies jedes Mal hinzu ~/.gitconfig
:
[commit]
verbose = true
Bezug: man git-config
.
Ich glaube nicht. Wie wäre es, wenn Sie es selbst im Editor machen, zB in vi
:r !git diff HEAD^
oder ähnliches?– chirlu
23. Mai 2013 um 18:40 Uhr
@chirlu ooh ja, das ist eine praktische Problemumgehung, danke.
– Adam Monsen
23. Mai 2013 um 18:41 Uhr
@AdamMonsen, wie “formulieren Sie eine Commit-Nachricht während git rebase –interactive um”? Tun Sie dies im Startbildschirm, ersetzen Sie “pick” durch “reword” und geben Sie die neue Nachricht direkt ein, oder ersetzen Sie “pick” durch “edit” und verwenden Sie “git commit –amend”, um die Commit-Nachricht zu ändern?
– Vampir
25. Mai 2013 um 0:03 Uhr
@Vampir, gute Frage. Ich spreche von Ersterem: Ändern von “Pick” in “Reword”. Aber die einfache Verwendung von “Bearbeiten” klingt nach einer weiteren großartigen Problemumgehung! Es kann einige andere Unterschiede zwischen “reword” und “edit” geben (neben den offensichtlichen, für den Benutzer sichtbaren), ich weiß es nicht.
– Adam Monsen
25. Mai 2013 um 4:58 Uhr
Verwandt: Diff beim Schreiben von Commit-Nachrichten während einer interaktiven Rebase anzeigen
– Fluss
13. Juni 2019 um 5:48 Uhr