从 git 中提取故事分支时的最佳实践
Best practice when pulling story branches from git
我们最近开始使用 GIT,我们的流程是为每个 task/story(敏捷)创建一个分支。
在某些情况下,需要从发布中提取已合并的分支。做这个的最好方式是什么?
来自 TFS,我们使用标签,很容易将特定项目指向旧的变更集,但是 GIT 我不确定如何最好地做到这一点。如果这是最后一次推送似乎会很容易,但是如果在我必须撤消所有这些之后有 10 次推送,然后只用我想要的那些进行另一个拉取请求?
我建议你使用git流。
git 流模型是一个合适的模型,将回答您的所有问题。
在此处阅读所有相关内容 http://nvie.com/posts/a-successful-git-branching-model/ 完成阅读后,您将能够更好地理解下图:
"catch" 和 git 流程是因为有完整的脚本来处理您一路走来的每一步,因此很难出错。
您可以return在合并前的分支状态恢复合并的分支:
git reflog
git checkout <last_feature_commit_number>
git checkout -b <feature_branch>
然后在你的发布分支上更新这个新分支
git pull --rebase origin <release_branch>
如果有冲突解决,在stage添加文件执行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? and Can I recover branch after its deletion in git?)
我们最近开始使用 GIT,我们的流程是为每个 task/story(敏捷)创建一个分支。
在某些情况下,需要从发布中提取已合并的分支。做这个的最好方式是什么?
来自 TFS,我们使用标签,很容易将特定项目指向旧的变更集,但是 GIT 我不确定如何最好地做到这一点。如果这是最后一次推送似乎会很容易,但是如果在我必须撤消所有这些之后有 10 次推送,然后只用我想要的那些进行另一个拉取请求?
我建议你使用git流。
git 流模型是一个合适的模型,将回答您的所有问题。
在此处阅读所有相关内容 http://nvie.com/posts/a-successful-git-branching-model/ 完成阅读后,您将能够更好地理解下图:
"catch" 和 git 流程是因为有完整的脚本来处理您一路走来的每一步,因此很难出错。
您可以return在合并前的分支状态恢复合并的分支:
git reflog
git checkout <last_feature_commit_number>
git checkout -b <feature_branch>
然后在你的发布分支上更新这个新分支
git pull --rebase origin <release_branch>
如果有冲突解决,在stage添加文件执行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? and Can I recover branch after its deletion in git?)