修改 git 里 commit 信息用户名
![修改git里commit信息用户名](https://static001.geekbang.org/infoq/97/97b066fbfd74bced9577c43226838ab4.jpeg)
事出有因, 公司项目中git提交信息需要和自己的公司账号对应, 所以当时无脑用
SourceTree
全局修改了, 后来发现自己的项目提交信息也变了, 发现的时候已经提交过一些记录了,所以才有了这个精力
列出要修改的提交信息
首先要确定需要修改的提交信息在历史几条记录之内
![](https://static001.geekbang.org/infoq/83/83bf2b21592998de6d0d985598377e62.png)
例如我这里在3条之内, 记住要修改记录的ID, 然后就可以在终端运行此命令:
修改提交信息前缀
我配置了git
默认编辑软件为 sublime
, 可直接修改, 不配置的话需要在终端通过vim
命令修改内容;
![](https://static001.geekbang.org/infoq/eb/eb459fd0dcf7327d8b0f3c74ecacee8e.png)
修改之后
![](https://static001.geekbang.org/infoq/d8/d85451ade061ebb510fc11d02059b914.png)
保存退出
提交修改的commit信息
这时你会在终端看到这个界面
![](https://static001.geekbang.org/infoq/0f/0fd41abe48e0952861d65b59de0def4b.png)
意思是可以用git commit --amend
来修改这次提交, 改完之后, 可以用 git rebase --continue
继续。
但是我需要修改的是提交的作者信息, 所以这样是不行的, 需要使用 git commit --amend --author='名字 <邮箱>' --no-edit
才可以。 其中名字是要修改为什么, 邮箱外面要加<>
。 运行后是这样
![](https://static001.geekbang.org/infoq/1b/1b043cb10011e16e6a37fbb563f79cbc.png)
然后就可以运行继续命令了
继续操作
因为这个是一条一条改的, 所以会出现这个
![](https://static001.geekbang.org/infoq/83/831349de551f51c595b13a0e90b4c51c.png)
重复一次上面的操作就行了
提交同步
最后把提交记录同步到服务器
验证修改
再次查看提交记录, 已经都改过来了
![](https://static001.geekbang.org/infoq/13/13f7dad0518549821951d77f26664f47.png)
至此, 大功告成
命令总结
评论