在GitHub上使用别人的存储库作为Git子模块

64

我想知道是否可以将别人的存储库(或存储库的分支)作为子模块使用在你自己的Git存储库中。Github上的文档要么不全,要么我没有用正确的术语来查找。如果这不是在项目中包含公共存储库作为共享库的首选方式,那么可以提供替代最佳实践的建议。

1个回答

89

是的,您可以将任何存储库作为子模块添加到您的项目中。只需执行以下操作:

git submodule add git://github.com/whomsoever/whatever.git

在你的代码库的顶层中,使用git来使用一些现有的有用的代码库确实是最简单的方法。有关子模块的更多信息,您可以查看:

更新:正如jfountain在下面指出的那样,如果您想在子目录路径(或与默认名称不同的名称)添加子模块,可以将其作为该命令的附加参数提供,例如:

git submodule add git://github.com/whomsoever/whatever.git foo/bar

1
如果子模块不托管在 GitHub 上,但您的仓库是,这仍然有效吗? - ch3rryc0ke
3
是的,如果你能克隆一个仓库的URL,你就可以将它作为子模块添加进来。 - Mark Longair
1
要克隆到子目录,请使用 git submodule add git://github.com/whomsoever/whatever.git subdirectory/whatever。 - jfountain
1
@GreatBlakes 你需要执行稀疏检出。 - server_kitten
2
@DavidDouglas 看起来你从“下载ZIP”获取的压缩文件不包含子模块的内容,恐怕是这样。 - Mark Longair
显示剩余3条评论

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