Als Git-Benutzer stoße ich regelmäßig auf die Situation, dass ich einen oder mehrere Commits auf eine Weise überarbeiten muss, die nicht in --amendoder rebase -imit Fixup-Commits passt. Normalerweise würde ich so etwas machen
git reset HEAD~1
# hack, fix, hack
git commit -a
# argh .. do I need to retype my message?
Ich nehme vernünftig komponierte Commit-Nachrichten sehr ernst. Sie enthalten normalerweise größeren Text mit Verweisen und Begründungen für die Änderung. Bis jetzt bin ich verärgert ganz auf dem langwierigen Prozess meine alten Commit - Nachricht über einen unsortierten zu erholen git reflog, git logund kopiert und Prozess einfügen.
Gibt es eine bessere Möglichkeit, dies in Angriff zu nehmen? Und wie wäre es, wenn mein Commit mehr als ein Commit umfasst?
Bearbeiten: Nachdem ich ein wenig darüber nachgedacht habe, denke ich, dass ich nach einer Git-Stash- ähnlichen Funktionalität für Commit-Nachrichten suche, bei denen das Fixieren / Ändern von Commits nicht angemessen ist.
gitkoffen haben. Auf diese Weise müssen Sie nicht einmal das Reflog verwenden. Alternativ können rev-parse <branch>Sie Ihren Hash vor dem Zurücksetzen abrufen und die Antwort von ibizaman verwenden.
git reset head~1, wäre Ihre alte Commit-Nachricht nicht nur der zweite Eintrag in derreflog?