合并为主节点后,是否应该删除远程Git分支?

时间:2019-04-10 15:00:07

标签: git github version-control git-branch branching-and-merging

我想知道最好是合并到master之后删除您的分支,还是在所有项目期间我们应该继续在同一单独的分支上工作。

即,如果我们是组中的3个成员,我们每个人都将创建自己的分支,并在项目进行期间对其进行处理。我们都在master分支中提交并拉动,然后再开始进行其他操作。这样,我们知道谁在哪个分支上工作,而不会感到困惑。

谢谢。

2 个答案:

答案 0 :(得分:3)

因此,关于如何管理分支机构的文献很多,但实际上我认为这取决于您要如何在自己的项目中管理事物。话虽如此,这是Atlassian分支工作流程的链接,可以给出不错的见解:

https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow

现在,所有这么长的文章都在说,如果你们所有人都直接致力于掌握,我认为这没有什么不对。我个人承诺要负责一些我正在从事的小项目,但是总的来说,这是我遵循的流程:

  1. 为项目创建master分支
  2. 确定要使用的功能,我们将其称为Widget X
  3. 为此创建一个功能分支,将其命名为feature-widget-x
  4. 所有使用此功能的开发人员都应根据自己的工作来创建自己的分支。例如,如果我正在处理错误,那么我将从feature-widget-x分支出来,并建立一个名为michael-error-handling的分支。
  5. 将所有内容合并到功能分支中,并根据需要从那里分支以完成功能。
  6. 完成功能后,将功能分支合并回主分支。
  7. 标记并存档功能分支,以便您随时可以回滚。
  8. 清理本地开发人员分支。
  9. Widget Y从master创建一个新的功能分支。
  10. 再次开始整个过程​​。

我想指出的是,严格来说,这是我的工作方式,并且在实施该方法的公司中对我来说是成功的。对于您的三个成员的组,它可能是(也可能不是)最佳解决方案,但这由您决定。如果您确实遵循此计划,则它的好处是能够根据需要回滚到功能,并且唯一持久的分支是功能分支和主分支。比查看单个分支上的提交日志要容易得多,因为它可以弄清何时提交回退,如果提交破坏了某些事情。

希望这会有所帮助。以下是另外几个链接,供您阅读:

https://git-scm.com/docs/git-archive

https://git-scm.com/book/en/v2/Git-Basics-Tagging

How can I archive git branches?

答案 1 :(得分:1)

您问题的正确答案是:这取决于您想做什么。继续在与master合并的分支上继续工作没有问题。如果不需要,也可以将其删除! 但是,在您描述的环境中,我完全同意以下事实:如果您在项目的不同部分工作,那么可以安全地创建不同的分支,并使master分支保持干净和更新对于该组而言。