推送所有本地GIT分支?最佳实践?

9
所有在本地创建的GIT分支每天都应该推送到中央仓库吗?关于这个问题,最佳实践是什么?
我们创建了一个GIT仓库来管理我们的大型电商网站,由一个庞大的团队不断开发。
中央仓库位于“Beanstalk”,我们有三个主要分支,“预发布”(主分支),“测试”和“生产”。所有的开发工作应该在本地完成并准备好发布时合并到预发布分支。
我可以看到将长期运行的分支也推送到Beanstalk。然而,我们的一些团队成员主张每天将所有本地开发分支无论是否正在进行中都推送到Beanstalk以创建冗余。我认为这会使存储库随着时间的推移变得杂乱无章。那么最佳实践是什么呢?
3个回答

8

感谢大家提供的出色答案,以及有关如何进行正确备份的进一步说明!这是我们将要采取的方法。 - Garrick

2

当用户完成操作后,您可以让他们清理远程分支。为了安全起见(特别是如果他们的计算机上没有备份解决方案),最好让他们将本地分支推送上去保存。否则,如果他们的计算机出现问题,本地分支就会丢失。


1
这是我的团队中其他人提出的论点。我可以理解你的观点,但不同意这种工作流程。我认为这混淆了“版本控制”和“备份”这两个不同的任务。在分布式版本控制之前,您永远不会将更改推送到多个存储库作为备份形式。如果我们要走这条路,我想我们会创建第二个“工作”主存储库来包含这些附加分支,并要求人们在完成后关闭它们。不过,我不认为我们会这样做。 - Garrick
1
就我个人而言,我投票支持上面的答案……只有在需要与他人共享时,我才会将东西推送到远程。 - Steve Ross

2

我同意您的看法,使用中央仓库来备份日常工作是不好的。它应该保存提交以供分享、测试或发布。

日常工作的备份应该要么备份到另一个更宽松的仓库上,每台开发机器可选择自动进行git push --force --all backup-repo任务,要么使用更传统的备份工具。


1
还有一个 git push --mirror <remotename> 命令,对于“备份”任务可能会很有用,因为它还可以删除本地已删除的分支。 - kostix
好的回答,谢谢CharlesB和kostix。 - Garrick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接