发布后 Gitflow 在 master 后面开发分支

标签 git tfs git-branch git-flow

我们将 Gitflow 用于我们的 git 分支工作流程(通过 TFS)。 发布成功后,我们将执行以下操作

  1. 从发布 pull 请求到 master
  2. 从发布中 pull 请求进行开发

第 1 步创建提交(Merged PR XXX:Merge release to master)

第 2 步创建提交(Merged PR YYY:Merge release to develop)

当我查看我们的分支时,它说 develop 是 master 之后的一个提交。这是因为提交( merge PR:XXX)不在开发中。

从 master 简单地创建另一个 pull request 到 develop 是否正确(即使 pull request 没有变化)?

我在标准 Gitflow model 上看不到这个

最佳答案

这将是小说长度,所以我很抱歉。我提交的简短回答是,完成 git flow 发布应该导致 develop 成为 master 的提交 ahead 基于 git 如何流量启动器 Vincent Driessen实现了自己的 git-flow scripts .

什么...git-flow 脚本

我不确定您对 git-flow 的体验,所以如果我说的很明显,请原谅我。 git-flow 规范有一组脚本来简化它的使用。 Git 流脚本随 Git for Windows 开箱即用,我假设您正在使用基于您的 TFS 引用。

最近“v2.1.0”版本的结果

让我们通过 Git Bash 检查最近发布的历史

$ git log --oneline --graph --decorate

哪个产量

Result of git flow release finish

在上图中你会注意到

  1. 文件上传功能已 merge 到开发中。在这一点上,我想 发布产品。
  2. 为了发布,我发布了$ git flow release start v2.1.0
  3. “git flow release start ...”命令自动创建分支 发布/v2.1.0。这个分支只包含一个提交——版本号的增加。
  4. 此时我已经测试并且对发布感到满意,所以我使用 $ git flow release finish -k
  5. “git flow release finish”命令将按顺序
    • merge 分支 release/v2.1.0 到分支 master
    • 为 v2.1.0 版本创建带注释的标签
    • 将分支 master merge 到 develop 以确保发布中的所有提交 分支重新开始开发下一个版本。

但是如果我使用的是 TFS PR 呢?

如果您在工作流程中使用 TFS PR,当您准备好完成发布 PR 时,您可能会看到类似这样的内容。

enter image description here

在我的店里,我们也使用 PR,但我使用 $ git flow release finish -k 在本地 merge ,然后推送 masterdevelop分支。 TFS 认识到发布分支已经被 merge ,并且会为您提供“关闭”而不是“完成”PR 的选项,如下所示。

enter image description here

关于发布后 Gitflow 在 master 后面开发分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51770160/

相关文章:

php - git post-receive 钩子(Hook)在 php 中

linux - 使用 git 通过 U 盘在 Windows 和 Linux 之间传输数据

git - 我可以在 .gitconfig 中设置的 git clone 上使用 fetch recurseSubmodules

tfs - 在 TFS 中移动分支

TFS 2010 PowerTools - 使用 SCVMM 的备份计划

git - 使用 VS Code 将分支 merge 到 Git 中(不工作!)

git - 在私有(private) git 服务器上分支公共(public) git 存储库

git - 避免在 git push 到远程时出现密码短语提示

github - 强制推送如何影响克隆分支?

command-line - 在命令提示符下获取 Tfs Shelveset 文件内容?