Gre*_*egg 8 git design-patterns
我们最近从SVN切换到Git,在最佳实践等方面,我们仍然处于学习过程中.我正在遵循本指南作为管理我们的分支和发布的起点.
该文件表明,功能分支通常是开发人员本地的,这与我在别处阅读的内容非常相似.但是,一些工程师正在研究下一版本中不会出现的功能.这些功能在我们的发布周期之前是2到3次迭代.
我从工程师那里得到的关注是,他们担心在当地保留如此多的代码.即使有他们的备份流程,它仍然是一个问题.我倾向于同意他们的担忧.
所以我的问题是,是否标准的是,那些没有为更多即时版本提供的分支被推向原点?在某些时候,这些分支被合并到develop分支中,然后从origin中删除.
例如,一位工程师正在研究一个相当大的履行件.我们不希望他的代码被推入开发分支(总是我们的下一个候选版本).因此,我们为他创建了一个完整的分支,并将其推向了原点.我链接的文件和我读过的其他文件都没有说明这是好事还是坏事.
如果这里有更好的做法,请告诉我或确认我的推测.
这取决于。
如果有人正在开发一项功能并希望与其他开发人员共享它,那将是很有意义的。但是,如果这是您独自开发的功能,那么如果不需要共享它,为什么要将其推送到服务器?功能完成后,它将最终合并到其他分支中,例如master或developer。
共享需要共享的分支,将其他分支保留在本地。如果不需要,不要弄乱主仓库。此外,当其他分支通过git remote prune起源从主存储库中删除分支时,其他开发人员将必须手动清理其参考存储库。