我们最近开始使用GIT,我们的流程针对每个任务/故事(敏捷)我们创建了一个分支。
在某些情况下,需要从发布中提取已合并的分支。做这个的最好方式是什么?
来自TFS,我们使用标签,很容易将特定项目指向较旧的变更集但是使用GIT我不知道如何最好地执行此操作。似乎很容易,如果它是最后一次推动,但是如果我必须撤消所有这些之后有10次推送,然后再做我想要的那些拉动请求吗?
答案 0 :(得分:2)
我建议您使用git flow。
git flow模型是一个合适的模型,可以回答您的所有问题。
在这里阅读所有相关内容http://nvie.com/posts/a-successful-git-branching-model/,阅读完毕后,您将能够更好地理解下图:
" catch" git flow就是有完整的脚本来处理你沿途所做的每一步,所以很难犯错误。
答案 1 :(得分:1)
您可以在合并之前返回分支状态以恢复合并分支:
git reflog
git checkout <last_feature_commit_number>
git checkout -b <feature_branch>
然后在发布分支上更新此新分支
git pull --rebase origin <release_branch>
如果您有冲突,请解决它,在舞台上添加文件并执行git rebase --continue
您可以查看准备与git log <release_branch>..<feature_branch>
最后在发布分支中合并此分支:
git checkout <release_branch>
git merge <feature_branch>
假设您的本地计算机承载合并提交。如果没有,您可以尝试获取远程reflog,但我不知道是否总是可以(请参阅git can I view the reflog of a remote?和Can I recover branch after its deletion in git?)