各种脚本通常包含“git clone ...”,并且一次又一次地运行它们会一次又一次地使用Git克隆。
如果我已经拥有此存储库(包括子模块),如何配置Git以覆盖本地URL。理想情况下,Git应将所有新下载的存储库放入该公共位置,并在以后自动重用。
我想要这样的事情:
$ git clone http://q.q/q.git
Downloading the repository to /home/my_repositories/http_q.q_q.git
Cloning from /home/my_repositories/http_q.q_q.git into q
$ git clone http://q.q/qc.git
Downloading the repository to /home/my_repositories/http_q.q_qc.git
Cloning from /home/my_repositories/http_q.q_qc.git into qc
Fetching submodules for qc
Cloning from /home/my_repositories/http_q.q_q.git
...
答案 0 :(得分:0)
您可以克隆克隆,然后使用git remote set-url origin <http_url>
将其重新定位到原始存储库。
答案 1 :(得分:0)
您可以使用git clone --reference repository
来共享现有克隆中的对象。请参阅--shared
和--reference
下的手册页警告。
您可以克隆现有克隆,然后调整其上游(我看到kan already gave that answer too)。