我们正在开发一个开源项目,并且通常有一些活动的拉请求。
每个拉请求创建一个分支非常简单:
但是我想知道你们中的其他人是否在一个分支中成功地管理了多个特性/PR--以及如何配置相同的特性/PR。
发布于 2015-02-04 20:56:26
是的,我经常这样做,我给集成分支打电话。根据支路创建一个分支,将拉请求合并到(通常是master),然后按您希望的顺序合并每个拉请求分支。
这是一个丢弃分支,因为它最终是否存在并不重要,因为当拉请求合并时,同样的提交将被卷到主服务器中,最终您可以只删除集成分支。
$ git checkout master
$ git pull
$ git checkout -b int/all-the-pull-requests
$ git merge user1/feature-1
$ git merge user2/feature-2
$ git merge user3/feature-3如果您想要添加更多内容,您可以再次分支,并在将拉请求合并到主服务器之后,然后rebase --onto将提交移动到基于主服务器的提交。
$ git checkout -b feature/after-integrations
$ git add .; git commit
...
$ git checkout master
$ git pull # pull requests were merged!
$ git checkout feature/after-integrations
$ git rebase --onto master int/all-the-pull-requests feature/after-integrations
$ git branch -D int/all-the-pull-requests # No longer needed在创建集成分支后处理单个拉请求的更改。
$ git checkout user2/feature2
$ git pull
$ git checkout int/all-the-pull-requests
$ git merge user2/feature2如果你有
A--B--C (master)
\ \
\ D--F (feature1)
\
G--H (feature2)会变成
A--B--C (master) I------------J (int/all-the-pull-requests)
\ \ / /
\ D------F (feature1) /
\ /
G------------------H (feature2)以及对feature2的更新:
A--B--C (master) I------------J--L (int/all-the-pull-requests)
\ \ / / /
\ D------F (feature1) / /
\ / /
G------------------H--K (feature2)合并
A--B--C------M------------N (master)
\ \ / /
\ D--F (feature1) /
\ \ /
\ I--J--L / (int/all-the-pull-requests)
\ / / /
G----H--K--/ (feature2)和删除
A--B--C------M--N (master)
\ \ / /
\ D--F / (feature1)
G--H---K (feature2)https://stackoverflow.com/questions/28330650
复制相似问题