在我的脚本中,我经常使用具有自己的repos的库(我的或其他人的)。我不想在我的repo中复制这些内容,并在每次新版本发布时都坚持更新它们。然而,当有人克隆存储库时,它应该仍然在本地工作,并且没有断开的链接。
你知道我能做些什么吗?
发布于 2011-10-19 04:29:29
您可以使用git中的子模块来实现这一点。在您的存储库中,执行以下操作:
git submodule add path_to_repo path_where_you_want_it
因此,如果库的存储库有一个git://github.com/example/some_lib.git
的URL值,并且您希望它位于项目中的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
然后,当您执行git status
时,您应该会看到lib/somelib
列在modified部分中。添加该文件,提交,您就是最新的。当协作者将提交的内容放入其存储库时,在再次运行git submodule update
之前,他们将看到lib/somelib
已修改。
https://stackoverflow.com/questions/7813030
复制相似问题