我正在尝试设置一个带有子模块存储库的git存储库。让我们打电话给2个回购:Super&这个例子的子。所以我初始化了超级回购,然后做了第二次回购的git submodule add
。我使用Super repo提交了.gitmodules
文件,这样当你执行git clone --recursive
时,它会将子模块向下拉到super。目前我们的网址格式如下:
ssh://user.name@serverUrl/path/to/repo.git
现在假设我有3位用户:user.a
,user.b
和user.c
。 user.a
将子模块添加到超级仓库。 user.b
是构建服务器。当user.a
添加子模块时,user.b
应将子模块设为user.b
(非user.a
)。 user.c
当他克隆超级然后进行提交时也是如此,日志应该反映它是由user.c
而不是user.a
(谁添加了子模块)提交的。我怀疑有一种方法可以指定子模块的URL,而不包括user.name作为url的一部分。这引出了我的问题。如何正确设置我的git存储库,使url不包含用户名?据推测,这涉及复制一些键,我只是好奇这是做什么的正确方法。
答案 0 :(得分:0)
使用gitolite,因此就操作系统而言,您可以使用相同的用户访问所有repos。每个ssh密钥都将确定id。
答案 1 :(得分:0)
尝试以下列方式使用子模块的相对URL:
[submodule "common/sub"]
path = common/sub
url = ../common/sub