我怎么能链接在一个git仓库的依赖?

在我的脚本中,我经常使用拥有自己的回购库的图书馆(我的或他人的)。 我不想在我的回购中复制这些内容,并在每次出现新版本时都更新它们。 但是,当有人克隆回购时,它应该仍然在本地工作,没有断开链接。

任何想法,我可以做什么?

你可以用git中的子模块来做到这一点。 在您的存储库中,执行:

git submodule add path_to_repo path_where_you_want_it 

所以,如果库的存储库有一个git://github.com/example/some_lib.git的URL,并且你希望在你的项目中使用lib/some_lib ,你可以input:

 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 

然后,当你做一个git status你应该看到修改后的部分列出lib/somelib 。 添加该文件,提交,并且你是最新的。 当一个协作者将这个提交拉入他们的仓库时,他们会看到lib/somelib被修改,直到他们再次运行git submodule update