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

推送所有本地GIT分支?最佳实践?,git,workflow,push,Git,Workflow,Push,是否应该每天将所有本地创建的GIT分支推送到中央存储库?与此相关的最佳实践工作流程是什么 我们创建了一个GIT存储库来管理我们的大型电子商务站点,该站点正在由一个大型团队进行持续开发 中央存储库位于“Beanstalk”,我们有三个主要分支,“prestaging”(主分支)、“staging”和“production”。当所有开发工作在本地完成并准备发布时,应将其合并到预存中 我也能看到把长时间运行的树枝推到豆茎上。然而,我们团队中的一些人主张每天推动所有本地开发分支机构使用Beanstalk

是否应该每天将所有本地创建的GIT分支推送到中央存储库?与此相关的最佳实践工作流程是什么

我们创建了一个GIT存储库来管理我们的大型电子商务站点,该站点正在由一个大型团队进行持续开发

中央存储库位于“Beanstalk”,我们有三个主要分支,“prestaging”(主分支)、“staging”和“production”。当所有开发工作在本地完成并准备发布时,应将其合并到预存中


我也能看到把长时间运行的树枝推到豆茎上。然而,我们团队中的一些人主张每天推动所有本地开发分支机构使用Beanstalk,无论是否在进行中;创造冗余。我认为,随着时间的推移,这将使存储库中的数百个分支变得杂乱无章。什么是最佳实践?

用户完成远程分支后,您可以随时让用户清理它们。让他们将本地分支推上只是为了安全起见,这不是一个坏主意(尤其是在他们的机箱上没有备份解决方案的情况下)。否则,如果他们的机器死机,他们的本地分支机构就会消失。

我同意你的观点,使用中央回购作为日常工作的备份是个坏主意。它应该保存要共享、测试或发布的提交


日常工作的备份应该发生在另一个更宽松的repo上,可以选择在每个开发机器上执行一个自动化的
git push--force--all Backup repo
任务,或者让它们有一个更经典的备份工具。

我不希望所有用户的所有分支都污染中央repo

不要混在一起:

  • :您选择发布的内容(推/拉至)
  • 备份需要:使用,这样您就只有一个文件可以复制到您想要的任何远程驱动器

还有
git push--mirror
,它可能对“备份”任务很有用,因为它还可以删除本地删除的分支。回答得好,谢谢CharlesB和kostixThanks的精彩解答,以及关于如何进行正确备份的进一步说明!这是我们将要走的路线。这是我团队其他成员提出的论点。我可以理解你来自哪里,但不同意这个工作流程。我认为“版本控制”和“备份”是两个不同的任务,这是混淆的。在分布式版本控制之前,您永远不会将更改作为备份形式推送到多个存储库。如果我们要走这条路,我想我们会创建第二个“工作”主存储库来包含这些额外的分支,并要求人们在完成后关闭它们。我不认为我们会这么做。我投票赞成上面的答案。。。我只在需要与他人共享时才将内容推到远程