问问题
1537 次
2 回答
1
您是否在有数百人从事同一个项目的环境中工作?我不觉得你这样做,因此盲目使用 git flow 所指的分支模型是一个巨大的矫枉过正。您不必为了使用分支而从一个分支跳到另一个分支。需要时使用分支。所以首先我建议放弃流工具,只使用 git。在一个单独的项目中,您可以轻松地直接在开发分支中进行开发,并且仅在您需要并行执行其他操作时才分支出功能。
如果您确实使用了功能分支,那么下面是应该可以解决问题的序列:
git checkout -b myfeature develop # creating branch from develop and checking out
commit, commit, commit...
git rebase myfeature develop # resolve conflicts if any
git checkout develop
git merge myfeature # fast-forward
git checkout master
git merge develop # fast-forward
git push # or git push <remote_name> master
这似乎更清晰,更简洁。
从 OP 的最新更新中可以清楚地看出,最初他没有正确完成 rebase 操作以防发生冲突。如果在变基期间发生冲突,您应该这样做:
`git status` #will provide the the list of conflicting files marking them as
both modified, so edit them to remove conflicts
`git add {files}` # to tell git that the conflicts are resolved and you can
continue with rebase
`git rebase --continue` # continue rebase operation, by applying next
patch in line.
根据您解决冲突的方式,如果触及同一段代码,下一个补丁可能会导致另一组冲突。
于 2014-04-15T14:54:36.513 回答
1
所以这个故事的线索是,如果发生冲突:
-> 并且需要保留两个分支的更改 - git rebase --continue -> 如果只需要保留功能的更改 - git rebase --skip
于 2014-04-16T08:57:41.863 回答