zoukankan      html  css  js  c++  java
  • [Gerrit] git merge合并分支后,push远程时被拒绝! [remote rejected] HEAD -> refs/for/master (no new changes)

    问题: 本地使用 git merge 把dev分支合并到master分支之后,push master分支到Gerrit时,提示:

    Total 0 (delta 0), reused 0 (delta 0)
    remote: Processing changes: refs: 1, done
    To ssh://xxx.xxx.xxx.xxx:xxxxx/{project_name}
    ! [remote rejected] HEAD -> refs/for/master (no new changes)
    error: failed to push some refs to 'ssh://xxxxxx@xxx.xxx.xxx.xxx:xxxxx/{project_name}'

    分析:
    no new changes 表示本地分支和远程分支代码没有差别,也就是没有新的提交。
    Gerrit审核根据commit id 和 changeId来判断是不是新的提交,dev分支merge到master分支后,在master上可能没有生成新的commit id和changeId。也就是两个分支的commit id和changeId都相同,在master分支推送到Gerrit的时候,Gerrit判断内容相同,因此拒绝push。
    解决:
    方法一:通过git commit --amend生成新的changeId,然后再push;
    方法二:在merge的时候加上--no-ff参数。

    --no-ff:不使用fast-forward方式合并,合并的时候会创建一个新的commit用于合并。
    ————————————————
    原文链接:https://blog.csdn.net/u013848401/java/article/details/86311491

  • 相关阅读:
    Java EE
    C++基础学习(二)之判断
    C++基础学习(一)之循环
    AutoCAD完全卸载
    point-cloud-annotation-tool编译发烧记_UBUNTU
    Ubuntu18.04安装QT5
    Ubuntu安装VTK-8.1
    常用Latex公式代码表[持续更新]
    shp矢量文件批处理裁剪栅格影像_IDL/ENVI
    摄影测量基本原理
  • 原文地址:https://www.cnblogs.com/twoheads/p/12869202.html
Copyright © 2011-2022 走看看