git 修改已提交的某一次的邮箱和用户信息

查看:313
本文介绍了git 修改已提交的某一次的邮箱和用户信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

git 公司用户名和自己的不同造成的

在提交代码的时候,默认使用了全局的git 用户配置,用户名 xiaoli 然后push 到github了

之后我配置了一下项目的git用户,使用了xiaowang又push了一次代码

如果我现在想改写第一次的git commit 的用户邮箱该怎么做那?

我使用

git rebase -i HEAD~2

但是只出现了最后一次的提交信息。

解决方案

我的操作步骤略麻烦,所以备图以做注解:

首先,通过gitk打开历史纪录,如下图:

本例中,我试图修改第三个提交more tests for later change cases对应的用户名/邮箱信息。

第一步,拷贝第四个提交update readmeSHA1 ID值,如上图选中部分4535579(不必全部,印象中前八位足矣)

第二步,回到命令行,开始执行rebase -i操作,如下:

git rebase -i 4535579

这个时候,git会自动调用配置好的编辑器打开一个界面,如下:

第三步,修改第一行数据(就是我们预期要修改的那条commit)的pickedit,如下:

保存退出,可以看到如下结果:

帅,这时候我们就可以通过git commit --amend来畅快的修改用户信息了,操作如下:

git commit --amend --author="LiLei <lilei@qq.com>" --no-edit

继续完成rebase

git rebase --continue

再次打开gitk,就可以享受你的结果了:

最后,通过git push --force将篡改历史纪录后的结果同步到服务器

注意,强制更新会有一定风险,就是这个时候如果有其他人也在向服务器提交代码,那会被你的强制更新给覆盖掉。

这篇关于git 修改已提交的某一次的邮箱和用户信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆