繁体   English   中英

在git分支之间拆分提交

[英]Split commits between git branches

这是一个有趣的问题(或者至少我希望是这样)。 我一直在研究功能,并在git分支中进行了这些更改。

我需要创建一个主请求请求(我已经将其重新设置为基础,可以还原),但是我的拼贴画抱怨该请求请求太大,应该在更多的请求请求上进行拆分。

本质上,我需要将对分支A的提交拆分为分支B,C,D,以具有较小的拉取请求。 有人知道解决这个问题的好方法吗?

最简单的方法可能是在过去的时间创建一个新分支,这将使差异不会太大而难以阅读,但同时又不会太小而变得毫无意义。 将该分支作为拉取请求提交。 接受之后,从上一个分支与您的HEAD之间的另一点创建一个新分支。 重复直到到达HEAD。 逐步执行此操作很重要,请按顺序而不是并行发送请求请求,否则审阅者将在另一个并行请求中看到他们已经看到的代码,这很烦人。

另一种方法是使用所有更改创建新分支,但没有提交历史记录(被压缩),然后部分地提交和创建拉取请求,如下所示:

git checkout -b branchB origin/master
git merge --squash --no-commit branchA

之后,您可以提交部分更改,并创建拉取请求。 接受之后,提交更多更改,并创建另一个拉取请求,依此类推。 请小心,确保您提交的部分可以正常工作。 很容易犯一个错误,最后出现一个只对您有用的分支,而您尚未提交的更改尚未出现在该分支中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM