【重要】【git】提交本地某分支BranchA上的改动代码Changes到同事仓库Rx的分支BranchX的最佳方案是什么?
【重要】【git】提交本地某分支BranchA上的改动代码Changes到同事仓库Rx的分支BranchX的最佳方案是什么?
背景:BranchX commits 新增频繁,可以认为每小时都有新的 commit。
目前最佳是方案二
方案二
来自于同事,需要自己实操一遍
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。。。这个方案等于说要重新来一遍。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论