Git修改提交commit message中的username、email

最近换了家公司,由于公司比较大,对提交代码方面也有些规范,这两天就踩了坑,因此在这里记录一下。

1、问题描述

在本地push代码到公司的git服务器上时,git服务器会校验commit message,主要会校验用户名和email。按照规范,我的用户名应该是xxx,email应该是公司邮箱xxx@abc.com,一旦违反这个规则,git服务器就会reject这次push。但由于我是新来的,还不熟悉这个规则,我没有配置好用户名和email,导致我的提交是这样的
1.png

开发分支是dev,用户名是zhanghaochen,email是mgoygo@163.com,这违反了公司的规范,push一直被reject,我只能修改这次commit的username和email,才能解决push失败的问题。
在网上搜到的都是用git commit --amand 来修改commit message,但我发现这并不能改变已提交代码的username和email信息。。

2、解决步骤
a、修改本地git的username和email
git config user.name "xxx"
git config user.email "xxx@abc.com"
b、创建新分支

从这次提交前的commit上新建一个新分支。举个例子,我这次错误的提交叫做first commit,这之前的提交是init,那就在init这个commit上执行New Branch,新分支的名字自己起一个,我把它起为temp分支。
2.png

执行New Branch操作后,若还没有将temp分支checkout,则将其checkout,确保当前head在temp分支。
3.png

c、执行cherry pick

这第三步骚操作来了,就是将dev分支上错误的commit中代码的改动部分cherry pick到我们的temp这个分支上。
4.png
修改好commit message并提交。
5.png
最终结果如下图所示:
6.png
可以看到,temp分支上的这个提交,username是xxx,email是xxx@abc.com,已经达到了我们所需要的效果。

d、将temp分支改为dev分支

这一步很简单,删除本地的dev分支,将temp分支重命名为dev分支。

3、总结

本次问题解决本质上相当于是重新写了一遍代码并重新提交。依赖了git的cherry pick这个强大的功能,我们只需要事先修改好username和email,就可以实现修改commit message中的username和email这一需求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值