我正在尝试设置一个包含子模块存储库的git存储库。在这个例子中,让我们调用2个repos: Super & Sub。所以我初始化了超级存储库,然后做了第二个存储库的git submodule add
。我使用超级存储库提交了.gitmodules
文件,因此当您执行git clone --recursive
时,它会沿着超级存储库下拉子模块。目前,我们的urls格式如下:
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中不包含用户名?大概这涉及到复制一些密钥,我只是好奇什么才是正确的方法。
非常感谢本
发布于 2011-10-17 17:25:56
在操作系统方面,您可以使用相同的用户访问所有repos。每个ssh密钥将确定id。
发布于 2011-12-13 12:55:58
尝试以以下方式使用子模块的相对urls:
[submodule "common/sub"]
path = common/sub
url = ../common/sub
https://stackoverflow.com/questions/7797029
复制相似问题