【重要】【git】提交本地某分支BranchA上的改动代码Changes到同事仓库Rx的分支BranchX的最佳方案是

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>),好了下面开始说正事:


【重要】【git】提交本地某分支BranchA上的改动代码Changes到同事仓库Rx的分支BranchX的最佳方案是什么?

背景:BranchX commits 新增频繁,可以认为每小时都有新的 commit。

image

目前最佳是方案二

方案二

来自于同事,需要自己实操一遍


1、先不要 commit 改动
2、本地的branchA 进行 git reset 到 branchA 和 同事的branchX 的最后一个共同 commit。
因为git reset 没有加  --hard ,本地的改动仍然存在
3、git stash
4、(选择 1)git pull 同事的branchX 剩余的commits
   (选择2)(1)git fetch
           (2)cherry pick fetch 的一些新的 commits,同事说:一般cherry pick 了就不会 merge 了,我暂时还不太理解
5、git pop
6、解决冲突,转到《不同冲突的解决方案》瑞总推荐https://blog.csdn.net/u014785687/article/details/66477686
7、(选择 1)git push 到自己仓库的一个新分支,再提 mr 到 同事的branchX 
   (选择 2)git push -f 到自己仓库的对应分支,再提 mr 到 同事的branchX


缺陷1:
在进行步骤 6 时,同事的 branchX 如果有了新的 commits

建议1:
1、如果到的早,在早上的时候从步骤 1 开始进行 ?
2、如果走的晚,等到别人都走光了进行?
3、MR 以后立马尽早通知同事进行操作,不要等!

2.1.1 方案一
2.1.1.1 直接clone 或 checkout BranchX分支为本地BranchX’分支
2.1.1.2 将Changes重新操作到BranchX’分支
这个步骤的最佳实践是什么?

对于少量代码用手动再改变一遍的方式
大量代码使用下面的方式怎么样?

  • i. 用打补丁的方式
  • ii. 用cherry pick的方式,没有实操过
  • iii. merge …. 这种方式有很多的问题吧?

2.1.1.3 git push –f 到自己的远程仓库成为BranchX_r分支
2.1.1.4 将BranchX_r MR到同事仓库Rx的分支BranchX
2.1.1.5 缺点?

操作过程中,如果 BranchX又有了新的 commit。。。这个方案等于说要重新来一遍。

郑重声明:本站部分内容转载自网络,版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们(QQ/微信153890879)修改或删除,多谢。