如图,在Gerrit中push代码的时候,提示失败,原因是在提交的这些commit修改中,包含了作者不是自己的commit,以至于其他是自己的修改commit也不能提交。
因为我们的commit信息有可能是通过导入补丁而来的,如果生成该对策的补丁的修改对策是其他人的修改,那么commit信息中的作者就是他的,如果你直接push将会报错,那么这个时候就需要找到那条作者不是自己的commit信息。
步骤:
1.查询之前的commit提交记录:
git rebase -i HEAD~N
N:这里的N代表之前的提交记录, 输入1就是上1次, 输入3就是前3次的记录
查询结果如下:
2.找到需要修改的某个commit:
每个记录都是pick id xxxx 的一条记录, 如果需要修改某一次的提交, 按下i字母, 即可进入编辑模式, 此时用光标定位到需要修改的那一条记录, 将pick修改成edit, 如下所示:
按下esc按键, 然后输入:wq (wq表示修改后保存退出), 按下Enter键,。
3.然后输入以下命令:
git commit --amend --reset-author
4.将用户名和邮箱改为自己的用户名和邮箱。
输入步骤三的命令之后就会出现编辑窗口,输入英文“i”即可出现进行编辑,将编辑窗口中的用户名和邮箱改为自己的用户名和邮箱。按下esc按键, 然后输入:wq (wq表示修改后保存退出), 按下Enter键即可。