-1
4

2 回答 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 回答