我想知道在 merge 到 master 后删除你的分支是否更好,或者我们是否应该在整个项目期间继续在同一个单独的分支上工作。
即如果我们是组中的 3 名成员,我们每个人都创建自己的分支并在项目期间处理它。在我们开始做其他事情之前,我们都在 master 分支中提交并 pull 。这样,我们就知道谁在哪个分支上工作,而不会混淆。
谢谢。
最佳答案
因此,有大量关于如何管理分支机构的文献,但实际上我认为这归结为您希望如何管理自己项目中的事物。话虽这么说,这里有一个来自 Atlassian 的分支工作流链接,可以给出一个不错的意见:
https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow
现在,说了那么长的文章,如果你们都直接提交给 master 是有意义的,我认为这没有任何问题。我个人致力于精通我从事的几个小项目,但总的来说,这是我遵循的流程:
- 为项目创建master分支
- 确定您要开发的功能,我们称之为
Widget X
。 - 为此创建一个功能分支,将其命名为
feature-widget-x
。 - 所有从事此功能的开发人员都应根据他们的工作内容创建自己的分支。例如,如果我正在处理错误处理,我会从
feature-widget-x
分支并创建一个名为michael-error-handling
的分支。 - 将所有内容 merge 到功能分支中,并根据需要从那里分支以完成功能。
- 功能完成后,将功能分支 merge 回主分支。
- 标记并存档功能分支,以便您可以在需要时随时回滚。
- 清理本地开发人员分支。
- 从 master 为
Widget Y
创建一个新的功能分支。 - 重新开始整个过程。
我想指出,这正是我做事的方式,并且在实现它的公司中对我来说是成功的。对于您的三人小组来说,这可能是也可能不是最佳解决方案,但这由您决定。如果你真的按照这个计划去做,它的好处是能够根据需要回滚到一个特性,并且唯一持续存在的分支是特性分支和主分支。比查看单个分支上的提交日志更容易确定何时应该回滚到提交是否中断。
希望这对您有所帮助。下面是一些额外阅读的链接:
https://git-scm.com/docs/git-archive
关于git - 我们应该在 merge 到 master 后删除远程 Git 分支吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55615750/