小编典典

如何在 git repo 中链接依赖项?

all

在我的脚本中,我经常使用有自己的存储库的库(我的或其他人的)。我不想在我的 repo 中复制它们,并且每次发布新版本时都卡在更新它们。但是,当有人克隆
repo 时,它应该仍然可以在本地工作并且没有断开的链接。

关于我能做什么的任何想法?


阅读 75

收藏
2022-08-16

共1个答案

小编典典

您可以使用 git 中的子模块来执行此操作。在您的存储库中,执行以下操作:

git submodule add path_to_repo path_where_you_want_it

因此,如果库的存储库有一个
URLgit://github.com/example/some_lib.git并且您希望它lib/some_lib在您的项目中,您将输入:

git submodule add git://github.com/example/some_lib.git lib/some_lib

请注意,这需要从存储库的顶级目录中完成。所以不要cd进入你首先放置它的目录。

添加子模块后,或每当有人重新签出您的存储库时,您需要执行以下操作:

git submodule init
git submodule update

然后,您添加的所有子模块都将在您拥有的同一修订版中签出。

当您想更新到其中一个库的较新版本时,cd进入子模块并拉取:

cd lib/some_lib
git pull

然后,当您执行 a 时,git status您应该会看到lib/somelib已修改部分中列出的内容。添加该文件,提交,然后你是最新的。当协作者将该提交拉入他们的存储库时,他们将看到lib/somelib已修改,直到git submodule update再次运行。

2022-08-16