2017-06-19 86 views
0

我是Git的新手,但我对Master和功能分支概念有所了解。虽然有不同的功能分支名称是有道理的,但如果我们正在一个开发人员,小规模的应用程序,并通过拉请求审查合理工作量已经完成听起来合理,我发现它是多余的,我必须创建一个新功能分支,只要我整合下一个功能迭代。我曾尝试重用分支,但它在请求中导致冲突。重复使用Git分支

每次新添加完成后,我们是否应该创建新分支?

+0

以torek的答案为出发点:我想这个问题是PR为什么会发生冲突(以及如何避免这种冲突)。请注意,pull请求本身不是git概念,而是“git中的其他事物”(通常是github;或类似于gitlab中的“合并请求”)的概念。不过,我预计冲突将基于PR的合并或重组操作。诊断可能需要更完整的图片(例如,在第一次PR之前/之后和第二次PR之前提交图表作为开始),但通常我会第二次重复使用分支不应该打扰git。 –

回答

5

Git在重新使用或重新使用分支名称时没有问题。这是围绕 Git的其他事情,包括人们如何使用Git,以及各种集成系统如何使用Git,这些问题与重新使用或重新使用分支名称有关。

至于Git的本身而言,一个分支是从字面上只是提交哈希ID,有一些特殊的属性的字符串名称:

  • 此字符串的全名始于refs/heads/。 (通常您会看到没有前缀的字符串。)
  • 随着新提交被添加到分支,期望由名称标识的提交散列随时间而改变。
  • 事实上,它是这样预计Git会自动为你做这个,当你“上”的分支一个新的提交,同时(如,当git statuson branch xyz:那么新的承诺,使xyz名新提交的哈希)。因此,如果其他人将您的分行名称复制到其存储库中 - 通常以远程跟踪分行名称-他们也会期望更新此名称,但有时仅以“快进”方式进行更新。也就是说,他们不会指望你使用xyz这个名称,并且使其指向(最后一个)与上一组提交提交的前一组提交非常相关的一组提交。

如果其他人(和流程)都同意xyz移动了,或许根本,是没有问题的,在那个时候再利用xyz。如果其他人不同意同意,你会遇到问题,他们期望xyz不要这样改变。他们可能会重新设置xyz他们预计它将去,这将干扰重新设置xyz

总之,重用是没有问题的提供的大家事先同意,重用是没有问题的。如果没有其他人使用你的名字,你只需要同意你自己。如果别人也使用你的名字,请确保他们没问题。