9

我们最近从 SVN 切换到了 Git,当涉及到最佳实践等方面,我们仍然处于学习过程中。我正在遵循本指南作为管理我们的分支和版本的启动板。

该文档表明,功能分支通常是开发人员本地的,这与我在其他地方读到的几乎相同。但是,一些工程师正在研究下一个版本中不会出现的功能。这些功能比我们的发布周期提前了 2 到 3 次迭代。

我从我的工程师那里听到的担忧是,他们担心将这么多代码保留在本地。即使他们的备份流程到位,这仍然是一个问题。我倾向于同意他们的担忧。

所以我的问题是,将没有计划立即发布的分支推送到原点是否是标准的?在某些时候,这些分支被合并到开发分支中,然后从原点中删除。

例如,一位工程师正在处理一个相当大的履行件。我们不希望他的代码被推送到开发分支(总是我们的下一个候选版本)。所以我们为他创建了一个 fulfillment 分支并将其推送到 origin。我链接到的文件和我读过的其他文件都没有明确说明这是好的做法还是坏的做法。

如果这里有更好的做法,请告诉我或确认我的猜测。

4

2 回答 2

7

这取决于。

如果有人正在开发一项功能并希望与其他开发人员共享它,那是完全有意义的。但是,如果这是您独自开发的功能,如果您不需要共享它,为什么还要将其推送到服务器上呢?当功能完成时,它最终会被合并到其他一些分支,比如 master 或 development。

共享需要共享的分支,将其他分支保留在本地。如果不需要,不要弄乱主仓库。此外,当从主存储库中删除分支时,其他开发人员将不得不通过 git remote prune origin 手动清理他们的引用存储库。

于 2012-04-06T20:24:27.927 回答
3

对于小型功能,它是可选的。我建议每天推送中大型功能以进行备份。您的公司会不愿意听到您的开发人员在他的 PC 死机时浪费了 2 周的工作。

于 2015-05-26T15:33:14.483 回答