我们将使用Git作为我们的源存储库。我们的计划是建立一个原始的裸仓库,在该仓库中我们将提供可交付的源代码。仅由负责集成的特定人员可以对此裸仓库进行更改。
每个开发人员将在本地有自己的存储库,他们可以根据需要进行操作。但是,由于我们可以保证在开发人员的PC或笔记本电脑中进行备份,因此我想为开发服务器中的每个用户设置一个远程存储库,以便开发人员可以将其本地存储库中的更改推送到其远程存储库中。这样,开发服务器中的所有存储库(主库和开发者库)将每天进行备份。
但是我对用户的远程仓库和主仓库之间的集成应该如何工作尚不清楚。我假设我将需要一个集成库,该集成库能够从开发人员的远程仓库中提取信息并将集成的更改推送到主仓库中。另外,开发服务器中的所有存储库都应为裸存储库。有什么我想念的吗?
尽管用分支而不是存储库进行描述更为常见,但您所描述的是有效的流程。所以,我必须强烈反对,以
...您可以做到,但是那不是Git的想法和概念。
用@Stony的答案表示。实际上,git在许多不同的存储库中分散工作的想法非常重要。Github就是一个很好的例子-一个人分叉一个回购仓库来拥有自己的实例,在相关分支机构中做必要的工作,在发出拉取请求后,该工作被原始回购仓库的所有者拉入原始回购仓库。正如您在建议的设计中所描述的那样,仅由集成商才能对此(裸)权威存储库进行更改。
尽管如此,您仍必须考虑是要遵循上述模型还是共享存储库模型(又名集中式但分散式),即每个人都推入同一个存储库,在单独的分支上工作,维护一个反映其状态的权威分支。艺术,以及发行分支。使用共享存储库模型,通常遵循git-flow分支模型的某些变体,尽管当然您的里程可能会有所不同。共享存储库模型在共享一个项目的小型团队中很受欢迎。
我想为开发服务器中的每个用户设置一个远程存储库,以便开发人员可以将其本地存储库中的更改推送到他的远程存储库中。这样,所有存储库...将每天备份。
这是非常常见的方法,在这里您应该没有问题。开发人员可以在开发服务器上拥有一个或多个存储库,他们将在本地进行克隆,进行工作并将其分支推回到开发服务器,以进行备份并将其工作发布给集成商。如果您具有敏感的代码或IP,则有时会使用这种方法来促进基于权限的控制,以控制哪些开发人员可以访问哪些存储库。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句