1

各种脚本经常包含“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
...
4

2 回答 2

0

您可以克隆克隆,然后使用git remote set-url origin <http_url>将其重新定位到原始存储库。

于 2013-09-16T20:13:27.210 回答
0

您可以使用从现有克隆中共享对象。请参阅和下的手册页警告。git clone --reference repository--shared--reference

您可以克隆现有的克隆,然后调整其上游(我看到kan 也已经给出了答案)。

于 2013-09-16T20:16:36.020 回答