从git中拉取故事分支的最佳实践

我们最近开始使用GIT,我们的流程针对每个任务/故事(敏捷)我们创建了一个分支。

在某些情况下,已经合并的分支需要从发布版本中提取。 做这个的最好方式是什么?

来自TFS的我们使用标签,很容易将特定项目指向较旧的变更集,但使用GIT我不确定如何最好地执行此操作。 看起来好像是最后一次推送会很容易,但如果在我必须撤消所有这些操作之后有10次推送,然后再按照我想要的方式再次执行拉取请求?


您可以在合并之前返回分支状态以恢复合并分支:

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我可以查看远程的reflog?并且可以在git中删除后恢复分支吗?)


我建议你使用git flow。

git流程模型是一个合适的模型,并会回答你所有的问题。

阅读所有关于它的地方http://nvie.com/posts/a-successful-git-branching-model/,一旦你完成了阅读,你将能够更好地理解下面的图表:

在这里输入图像描述

git流程的“catch”就是有完整的脚本来处理你在这个过程中所做的每一步,所以很难犯错误。

链接地址: http://www.djcxy.com/p/49835.html

上一篇: Best practice when pulling story branches from git

下一篇: Github desktop "Cannot revert a merge commit"