git:每个开发人员的主存储库和裸存储库

时间:2014-04-10 07:58:19

标签: git

我们将使用Git作为源代码存储库。我们的计划是拥有一个主裸存储库,我们将拥有可交付的源代码。对这个裸存储库的更改只能由负责集成的特定人员进行。

每个开发人员都将在本地拥有自己的存储库,他们可以根据需要进行操作。但由于我们可以保证开发人员的笔记本电脑或笔记本电脑中的备份,我想为开发服务器中的每个用户设置一个远程存储库,因此开发人员可以将其本地存储库中的更改推送到他的远程存储库。这样,开发服务器中的所有存储库(主服务器和开发人员)将每天备份。

但我没有清楚地了解用户的远程回购和主要回购之间的集成应如何运作。我假设我需要一个集成存储库,它可以从开发人员的远程仓库中取出并将集成的更改推送到主仓库。此外,开发服务器中的所有存储库都应该是裸存储库。我有什么遗失的吗?

2 个答案:

答案 0 :(得分:1)

问题是你能做到这一点,但这不是Git的想法和概念。

Git是一个分散式版本控制系统,因此每个用户都在其计算机上拥有完整的存储库,并且您不需要为每个用户提供备份。

因此,有很多方法和概念可以在你的主brange中合并branges。

以下是一些概念。

https://www.atlassian.com/de/git/workflows

答案 1 :(得分:0)

虽然用分支而不是存储库来描述更常见,但您描述的是有效的流程。所以我必须强烈反对

  

......你可以做到这一点,但这不是Git的想法和概念。

在@Stony的回答中表达。实际上,git的想法是将工作分散到许多不同的存储库中。 Github就是一个例子 - 一个要求回购拥有自己的实例,在相关分支中做必要的工作,并且在发送拉取请求之后,工作被原始回购所有者拉入原始回购。正如您在提议的设计中所描述的那样,只有集成商才能对此(裸)权威存储库进行更改。

尽管如此,您还必须考虑是否要遵循上述模型或共享存储库模型(也称为集中式但分散式),其中每个人都进入同一个存储库,在不同的分支上工作,维护一个反映了该模型的权威分支最先进的技术,以及发布分支机构。使用共享存储库模型时,通常会遵循git-flow分支模型的某些变体,但当然您的里程可能会有所不同。共享存储库模型很适合共享一个项目的小型团队。

  

我想为开发服务器中的每个用户设置一个远程存储库,因此开发人员可以将其本地存储库中的更改推送到他的远程仓库。这样所有回购......将每天备份。

这是非常常见的方法,你应该没有问题。开发人员可以在开发服务器上拥有一个存储库或存储库,他们将在本地克隆,工作并将其分支推送回开发服务器,进行备份并将其工作发布到集成商。如果您有敏感的代码或IP,这种方法有时用于促进基于权限的控制,以便哪些开发人员可以访问这些回购。