Git修改某次commit的信息
我们使用下列commit进行演示
Xyrenus ~/Desktop/repo_sample (master)
$ git log
commit 3b0065e6a00729f3ee753c162b545f101feb7277
Author: Bitbucket Server Admin <bitbucket@admin.com>
Date: Sun May 31 12:30:44 2015 +0800
Fourth Commit
commit 1f096bfe7503b2805af64b69c9fe12c059ec9000
Author: Bitbucket Server Admin <bitbucket@admin.com>
Date: Sun May 31 12:30:30 2015 +0800
Third Commit
commit 1ffce288fa200abbac4d0789dc181b4e2f2f8cbd
Author: Bitbucket Server Admin <bitbucket@admin.com>
Date: Sun May 31 12:30:20 2015 +0800
Second Commit
commit 0ba19e07c5b4e5b2372a51382b910844c81bbefa
Author: Bitbucket Server Admin <bitbucket@admin.com>
Date: Sun May 31 12:30:11 2015 +0800
First Commit
- 找到要修改的commit,本例中用1f096bfe7503b2805af64b69c9fe12c059ec9000演示
- 执行 git rebase -i <要修改的commitId的前一个commitid>,本文中为1ffce288fa200abbac4d0789dc181b4e2f2f8cbd
- 在rebase的交互模式下,将要修改的commit 状态修改为edit
pick 1f096bf Third Commit
pick 3b0065e Fourth Commit
修改后
edit 1f096bf Third Commit
pick 3b0065e Fourth Commit
- 修改后,保存退出rebase交互模式,我们会停在该commit下,并执行修复操作
- 我们可以进行不同的修改
改作者和邮件地址:git commit --amend --author=“Author Name email@address.com”
改日期时间:{{git commit --amend --date=“Thu, 07 Apr 2005 22:13:13 +0200”}}
改commit评注:git commit --amend -m “New Commit Message” - 修改完后执行 git rebase --continue
- 最后将修改推送到远程仓库 git push origin master --force