プッシュされていないコミットが3つあるとしましょう。ここで、1番目または2番目のコミットのコミットメッセージを変更したいと思います(3番目のコミットに変更するのは簡単git commit --amend
です)。どうやってするか?
3237 次
2 に答える
6
これは強力なgit rebase -i
コマンドの仕事です。また、Gitブックのインタラクティブリベースのセクションも参照してください。
于 2010-10-15T07:31:41.453 に答える
6
サブ質問にリバウンドするには:git commit --amend
前のコミット(最後のコミットだけでなく)の場合は、次のようなものを試すことができます(まだテストされていませんが、ColinO'Dellはコメントでcolinodellのスクリプトを作成したと述べています/ git-amend-old):
git checkout -b tmp
git reset --hard HEAD~2
git commit -amend
git rebase --onto tmp HEAD@{1} master
それは次のようになります:
x---x---x---x---x
^
|
(master*) (* = current branch)
git checkout -b tmp
x---x---x---x---x
^
|
(tmp*, master)
git reset --hard HEAD~2
x---x---x---x---x
^ ^
| |
(tmp*) (master)
git commit -amend
y (tmp*)
/
x---x---x---x---x
| ^
(HEAD@{1}) |
(master)
git rebase --onto tmp HEAD@{1} master
(tmp)
y---x'---x' (master*)
/
x---x---x---x---x (only referenced in reflog)
于 2010-10-15T09:12:20.447 に答える