git merge合并开发分支到上线分支遇到的问题,提示 no new changes

git merge 后 push 到 Gerrit 失败,提示 no new changes
错误描述
解决思路
分析:no new changes 的意思,是说,这个合并,是个线性的合并。而合并的那些历史的 commit 节点,在 gerrit 上都已经评审过了,都是已有的 change 单,所以 gerrit 认为没有新的提交,就不让你提交评审。

方法: 在 git merge 的时候,加上 --no-ff 参数,是为了让它生成一个新的 commit,这样就可以提交了~(不过生成的 gerrit change 是看不到改动信息的)

实操

# 切换到开发分支dev1,并拉新
git checkout dev1
git pull
# 切换到release分支,并拉新
git checkout release1
git pull
# 在当前release分支,将dev1合进来
# 作为对比,合并前后可以用git status查看状态
git status
git merge --no-ff dev1
git status
=====
# 遇到一个会产生歧义的地方,记录一下

# 当在dev分支的时候,执行status会报出以下内容
-git status
#弹出信息:
On branch develop/d_time_devPoint
You branch is up to date with 'origin/develop/d_time_devPoint'

# 同理,先切换到release分支,在release分支上执行status
git checkout r_release_point_time
# 弹出信息:
Switched to branch 'r_release_point_time'.
You branch is up to date with 'origin/r_release_point_time'

-git status
# 弹出信息:
On branch r_release_point_time
You branch is up to date with 'origin/r_release_point_time'

# 此时将dev内容合并release分支,直接用idea工具也能合并,但是提交不上去,会产生上面的异常。
# 在release分支上执行:
git merge --no-ff develop/d_time_devPoint
#备注:是develop/d_time_devPoint,不是d_time_devPoint。只忽略origin/就行,后面的内容不管是release还是dev,都要保留。这个既符合merge命令,也符合checkout命令

最后一步,可以借用idea的提交代码插件push上去

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值