3

我无法弄清楚如何管理我的项目中的分支。我一直在研究一个功能分支“loads”,它是从“dev”分支出来的。自从分支以来,“dev”已经向前推进了一些提交。现在,另一位开发人员从最新的“开发”提交开始了一个新的功能分支“工作”。问题是“工作”中的功能取决于“负载”中的功能。“loads”中的这个功能已经完成,但是“loads”分支作为一个整体还没有“完成”。

基本上,我想做的是使“负载”中的最新更改可用于“工作”,而不会结束“负载”分支的生命周期。

这是树现在的样子:

       (loads:A) -> (loads:B)
      /
(dev:A) -> (dev:B) -> (dev:C)
                            \
                             (work:A)

这是我认为我需要做的

       (loads:A)  ->  (loads:B)  -> (loads:C) //continue work on "loads"
      /                         \
(dev:A) -> (dev:B) -> (dev:C) -> (dev:D)
                            \            \
                             (work:A) -> (work:B) //use "loads" features in "work"

我只是有点不确定合并的确切顺序以及如何完成此操作。上次我试图合并分支时,我把事情搞砸了,花了一整天的时间来恢复,我真的不想再经历一次了。

4

1 回答 1

1
git checkout loads
//after making code changes
git commit -am "latest changes on loads"


//This will replay your current changes on top of the existing dev
git rebase origin/dev

//Possible merge conflicts might have to address them

//after resolving conflicts
git push origin dev

其他开发人员可以提交他的更改,如果他已经在工作中进行了更改并将它们重新定位到 dev,或者他可以从 dev 中提取您的更改并创建一个新的功能分支并从那时起继续。

于 2013-03-05T18:15:01.737 回答