我该如何在GIT中最好地组织多个项目?

3
我正在评估GIT是否可以用来组织我们的项目。我们在Windows下使用Visual Studio 2010,在本地网络上工作。
我们的项目组织如下:
我们有一个共享的代码库(称之为SHARE),所有开发人员都可以扩展、修改和修复错误。所有开发人员都有多个私有项目,这些项目依赖于共享的代码库。因此结构如下:
root
   |
   +-- SHARE
   +-- Project 1 Dev 1
   +-- Project 2 Dev 1
   +-- Project 1 Dev 2

我认为,可以在网络驱动器上放置一个源代码仓库,并在每个开发者的PC上克隆一份;同时,在每个项目的开发者PC上也可以有一个私有仓库(可能还要在网络上备份)。最好有某种链接方式,这样当开发者检出他的项目时,他也能得到正确的共享源代码。

GIT是否支持这样的操作?如何实现?或者,您能否推荐更好的方式?

1个回答

3
很好,需要一种链接方式,使得开发人员检出他们的项目时,也会得到正确的共享源代码。这是否适用于GIT?如何实现?

Submodules可能是你想要的——它们允许你在主存储库(“超级项目”)中存储指向其他存储库的“指针”,并使用有关子项目精确“状态”的元数据,以便每个人都可以针对一致共享的子项目进行工作。

子模块本身可以像任何其他存储库一样进行操作和改进,并且“状态”指针可以在适当时更新为新协商版本。

因此,您的超级项目将包含一个子模块:“shared”,当开发人员克隆主仓库时,运行git submodule init && git submodule update即可自动设置必要的子模块。


只是确认我是否理解您的意思。 网络上有一个 SHARE 的仓库。 对于每个开发者项目,都有一个本地仓库,其中 SHARE 是一个子模块? 好的,我尝试按照这种方式设置。 - Michael
我尝试使用Git Extensions进行设置,但遇到了问题。也许你可以帮助我。现在我有一个名为test的repo和一个名为SHARE的repo。如果我尝试将子模块SHARE添加到项目test中,Git总是想要将所有文件从SHARE复制到test\SHARE。但我不想复制它们。 - Michael

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