到目前为止,我一直在使用 SVN、GIT 和 Mercurial,对于后两者,工作流程总是只包含拉/合并/推。现在我正在处理一个项目,其中工作流程涉及经常从父分支重新定位,我不确定我是否完全了解正在发生的事情,或者我的工作流程是否正确。我在指定的分支中完成所有工作,所以:
git checkout dvl_bkend // This is 'parent' branch
git checkout -b dvl_bogdan // Created my own branch
现在下面的所有内容都来自我自己的分支。当我开始编码会话时:
git pull --rebase -s recursive -X ours origin dvl_bkend
只要我有稳定的东西,就做编码和东西
git add stuff
git commit stuff
// rinse and repeat above two steps
现在,当我准备好推送时。
git pull --rebase -s recursive -X ours origin dvl_bkend
在这一点上,我想推到我的 dvl_bogdan 但我不能说我需要先拉。所以我:
git pull origin dvl_bogdan
现在这给了我需要合并的冲突(不知道为什么会发生这种情况?),此时我猜有些不对劲。无论如何,如果我解决冲突,我可以:
git push origin dvl_bogdan
重复上述所有步骤,直到我准备好拉取请求。然后再重复一遍。我在哪里搞砸了我的流程?我以某种方式设法陷入了变基不断应用重复提交的情况:
bogdan 5b31717 Merge branch 'develop_bogdan' of xx into develop_bogdan 8 May 2013
Bogdan Neacsa 810d753 Updated payment service to recieve an Account entity now rather that creating it itself. Also change… 8 May 2013
bogdan 429f97b Fix to model and service in payments. Quick fix to tests after changes. 8 May 2013
Bogdan Neacsa 7c6ff32 Updated payment service to recieve an Account entity now rather that creating it itself. Also change… 8 May 2013
bogdan d74ce5a Fix to model and service in payments. Quick fix to tests after changes. 8 May 2013
Bogdan Neacsa 8ab401e Updated payment service to recieve an Account entity now rather that creating it itself. Also change… 8 May 2013
bogdan 259349b Fix to model and service in payments. Quick fix to tests after changes. 8 May 2013
谢谢,波格丹
编辑:------------我不清楚部分--------
所以我在我的 dvl_bogdan 分支上,它与我的远程分支同步,如果我这样做:
git pull origin dvl_bogdan
这表明我是最新的。现在我这样做:
git pull --rebase -s recursive -X ours origin dvl_bkend
这并没有给我任何冲突。但是现在当我尝试时:
git push origin dvl_bogdan
它要求我在推动之前先进行拉动,而这种拉动会给我带来冲突。我真的不明白这里发生了什么。