对每个开发人员都有一个远程分支是一个好习惯吗?


11

对项目中的每个开发人员都有一个远程分支是否被视为一种好习惯?

我们将Git与以下分支一起使用:

  • 释放
  • 发展

如果每个开发人员都有自己的分支,则可以将代码推送到自己的分支中,而其他开发人员可以将这些更改合并到自己的分支中。


1
提醒我Accurev工作区,但不限于特定计算机的MAC地址。我喜欢。
布兰登


1
为什么对要添加的每个新功能都没有唯一的分支?
马丁·约克

@Loki是啊..它是一个好主意..
balanv

Answers:


4

没有!对每个开发人员都有一个远程分支名称空间是一个好习惯。

单个分支通常是不够的,因此开发人员要么最终倒退很多分支,要么没有太大帮助。您宁愿说开发人员可以在他们的.name下推送他们想要的任何内容/。他们可以使用它为其他人发布预览版本,为其他人提供测试版本,甚至供他人集成。

您也可以使用它为集成商提供分支,也可以使用基于任务的名称。基于任务的名称通常对于集成者来说更容易跟踪,但是使开发人员更多地考虑命名,而人们不喜欢这种想法。我不知道哪种方法在实践中会更好。甚至可能取决于特定的团队。


2

除非您拥有某种github风格的基础架构,使他们自己创建和销毁分支并清楚地记录它们的用途,否则我可能不会在中央服务器上给每个开发人员一个分支。一些开发人员将需要多个分支,而一些开发人员根本不需要任何分支,但是您正在为每个人整理混乱并为您自己管理开销。

我鼓励使用git擅长的有机共享。在您自己的计算机上进行裸克隆非常容易,并将该文件夹设置为只读的SMB共享,​​以供其他人使用。实际上,如果您的几个开发人员尚未执行此操作,将使我感到非常惊讶。


1
默认情况下,每个人都可以始终创建一个分支。Github允许创建整个存储库,但是在这种情况下这太过分了。
Jan Hudec

1

这取决于您的开发团队和任务的组织方式。我认为,您指定的模型在以下情况下效果最佳:

  1. 每个开发人员自己完成独立的任务。
  2. 所有开发人员都在为同一任务做出贡献。

如果您正在开发并发要素项目,并且每个项目都有多个开发人员,那么这可能无法很好地解决问题。


1

如果每个开发人员都在处理可能涉及相同文件的不同事物,则为他们提供自己的分支可能会有所帮助。它可以帮助防止踩到彼此的脚趾,但是它将要求每个人经常合并并在处理冲突时负责。这是在我的办公室完成的工作,除了需要手动合并一半编辑过的文件的罕见日子以外,它的工作效果还不错。

如果您有多个开发人员在使用同一个功能,那么最好根据开发中的功能而不是开发人员来创建分支。


1

如果您使用的是Git,则应尝试拉取请求。

总而言之,您首先将master分支合并到当前的工作分支中。任何合并冲突都将在您的本地分支机构中。很好,因为您的master分支永不中断。如果您确实搞砸了,则可以恢复到本地提交。

完成合并后,您要求团队中的其他人检查分支并将其合并到主分支。永远不要合并自己的!只要没有人偷偷溜进去并提出另一个“拉取请求”,就可以保证您成功合并。由于每个人都知道“拉取请求”,因此无论如何您都不应同时有多个人并入主人。

一旦习惯了这一过程,就应该尝试尽可能多地合并-一种穷人的不断融合。冲突之间的时间越短越好。您将确定两个人何时进行重复工作,他们可以组成团队。有些地方每次完成一项要求时就会合并,可能需要几个小时。我建议至少每周合并一次;否则,您需要更好地完成任务。

我通常为每个任务创建一个分支。Git很不错,因为它可以区分本地提交和推送。这为每个人拥有自己的分支机构提供了一些好处,而没有所有的复杂性。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.