我试图理解git
中的功能分支。我的理解是,术语特征分支只是一种命名约定或方法,可以帮助在添加新代码时进行概念化和组织。
具体来说,我的理解是:
feature/
作为分支名称的前缀只是一种惯例(与origin/
具有意义相反)feature/what-ever-my-new-feature-is
feature/
与任何其他分支合并,无论它最初从何处分支(例如直接分配到master
)我没有掌握一些基本的东西吗?
答案 0 :(得分:1)
使用git“feature”分支更多的是在与开发人员团队合作时以一致的方式进行通信。
使用功能分支的两种常见分支策略是GitFlow和Trunk。您可以深入了解它们,看看它们对您的开发工作流程有何帮助。
正如@CoryKramer所提到的,使用标准前缀(即功能,修补程序,发布等)为分支添加前缀对于使用Jenkins,Bamboo,CircleCI,TravisCI等持续集成工具自动化您的开发过程非常有帮助。实践是为特定功能分支生成构建,并阻止合并到主控,直到功能成功构建,代码审查并具有适当的测试覆盖率。
答案 1 :(得分:0)
除了所写的内容之外,我还要补充一点:你提到了一个"分支名称"以origin/
开头是特别的;但这并不完全正确。
origin/master
不是具有特殊名称的分支。您通常看到的origin/master
实际上是refs/remotes/origin/master
- 一个远程分支引用,与分支不同。 (一个分支是一种参考,因此在它周围飞来飞去的类似词语有点令人困惑。但是一个分支是一个参考,默认情况下,当你签出它时它会被移动。 remote branch ref是一个ref,默认情况下,在与相应的遥控器通信时根据需要移动。)
(如果你有一个名为origin/master
的分支,那将是refs/heads/origin/master
,在这种情况下,origin/
前缀将毫无意义,就像任何其他分支一样。但是一个建议的话:不要这样做。它只会导致混乱。)