37人参与 • 2025-07-28 • 其他编程
本地有多个git账号时,容易发生忘记设置项目默认账号,最后以全局账号提交的情况,其实对代码本身并无影响,只是提交记录里显示的是别的名字稍显别扭。
假设以a(a@email.com)提交了三次,发现提交用户错了,应该用b用户提交:
$ git log # 输出如下 commit 3 (head -> branch1) author: a <a@email.com> date: thu nov 22 16:22:59 2018 +0800 commit 3 commit 2 (head -> branch1) author: a <a@email.com> date: thu nov 22 16:22:59 2018 +0800 commit 2 commit 1 (head -> branch1) author: a <a@email.com> date: thu nov 22 16:22:59 2018 +0800 commit 1
$ git config user.name 'b' $ git config user.email b@email.com
$ git commit --amend --reset-author
amend命令只会修改最后一次commit的信息,之前的commit需要使用rebase:
$ 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 ... -- insert --
然后按esc键,退出insert模式,输入:wq退出,这时可以看到提示,可以修改commit 1的信息了:
stopped at 1 commit 1 you can amend the commit now, with git commit --amend once you are satisfied with tour changes, run git rebase --continue
$ git commit --amend --reset-author
会出现commit 1的提交记录及注释内容,可进入insert模式修改注释,:wq退出。
这时再查看提交历史,发现commit 1的author已经变成b(b@email.com)了,且是最新一次记录。
$ git rebase --continue
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论