问题
本地有多个git账号时,容易发⽣忘记设置项⽬默认账号,最后以全局账号提交的情况,其实对代码本⾝并⽆影响,只是提交记录⾥显⽰的是别的名字稍显别扭。
举例:本地有多个git账号时,容易发⽣忘记设置项⽬默认账号,最后以全局账号提交的情况,其实对代码本⾝并⽆影响,只是提交记录⾥显⽰的是
别的名字稍显别扭。git log # 输出如下 commit 3 (HEAD -> branch1) Author: a Date: Thu Nov 22 16:22:59 2018 +0800 commit 3 commit 2 (HEAD -> branch1) Author: a Date: Thu Nov 22 16:22:59 2018 +0800 commit 2 commit 1 (HEAD -> branch1) Author: a Date: Thu Nov 22 16:22:59 2018 +0800 commit 1
重置项目用户信息
git config user.name 'b'
git config user.email b@email.com
使⽤amend命令修改commit信息
(注: amend命令只会修改最后⼀次commit的信息,之前的commit需要使⽤
rebase)
git commit --amend --reset-author
通过rebase操作修改历史提交消息
rebase 最近的三个commit
git rebase -i HEAD~3 # 输出如下 pick 1 commit 1 pick 2 commit 2 pick 3 commit 3
要修改哪个,就把那⾏的pick改为edit,然后退出。例如想修改commit 1的author,光标移到第⼀个pick,按i键进⼊INSERT模式,把pick改为edit
edit 1 commit 1 pick 2 commit 2 pick 3 commit 3
然后按esc键,退出INSERT模式,输⼊:wq退出,这时可以看到提⽰,可以修commit 1的信息了
输⼊amend命令重置⽤户信息
git commit --amend --reset-author
提交记录及注释内容,可进⼊INSERT模式修改注释,:wq退出。
查看提交历史,发现commit 1的author已经变成b(b@email.com)了,且是最新⼀次记录。
通过continue命令回到正常状态
git rebase --continue