Gibt es eine Möglichkeit, ein Commit zu ändern, ohne dass vi
(oder Ihr $EDITOR
) die Option zum Ändern Ihrer Commit-Nachricht angezeigt wird, sondern einfach die vorherige Nachricht wiederverwendet wird?
git
commit
git-commit
amend
Sridhar Sarnobat
quelle
quelle
Antworten:
Seit der Version 1.7.9 von Git können Sie auch
git commit --amend --no-edit
Ihr Ergebnis abrufen .Beachten Sie, dass dies keine Metadaten aus dem anderen Commit wie den Zeitstempel enthält, die für Sie möglicherweise wichtig sind oder nicht.
quelle
git commit -C HEAD --amend
wird tun was du willst. Die-C
Option übernimmt die Metadaten aus einem anderen Commit.quelle
git config --global alias.amend 'commit --amend -C HEAD'
. Sie können danngit amend
als Verknüpfung verwenden.--amend
, wird das Autorendatum auch ohne andere Option beibehalten (aber das Festschreibungsdatum wird geändert). Als solches habe ich meinen alten Kommentar entfernt.—amend
. Sie können ein neues Commit erstellen, aber dieselbe Nachricht wie das vorherige Commit verwenden. Das mag nicht nützlich klingen, aber meine Commit-Nachricht ist standardmäßig, wenn ich nur meine Arbeit speichere, ohne mir eine nette Commit-Nachricht—message=“Work in progress (untested)”
Eine andere (dumme) Möglichkeit ist,
git commit --amend <<< :wq
wenn Sie vi (m) als haben$EDITOR
.quelle
... <<< ZZ
könnte noch weniger tippen;)... <<< :x
:)Um die akzeptierte Antwort zu erweitern, können Sie auch Folgendes tun:
um die aktuell geänderten Dateien hinzuzufügen.
quelle
Verwenden der akzeptierten Antwort zum Erstellen eines Alias
dann kannst du tun
und es wird alles hinzufügen und mit der gleichen Nachricht ändern
oder
das Ersetzen der Nachricht zu ändern
quelle