Git获取永远运行

时间:2018-11-23 14:49:20

标签: git git-fetch

我有一个名为old-repo的存储库和一个重复的new-repo。在old-repo上已经完成了一些工作,我想移植到new-repo上。我以为可以通过将old-repo添加为遥控器并合并更改来轻松地完成此操作,但是git fetch会花费很多时间。

我认为存储库不是很大;它大约为250MB,其中大多数以TIFF图片的形式存在于测试数据目录中。遥控器上也有大约200个分支。

运行git clone old-repo大约需要10秒,但是如果我执行以下步骤:

$ git clone NEW_REPO_URL.git
$ cd new-repo
$ git remote add old-repo OLD_REPO_URL
$ git fetch old-repo -v --progress

唯一的输出是:

POST git-upload-pack (gzip 32749 to 16521 bytes)

并且没有进一步的进展,所以我不得不用CTRL-C辞职。

我尝试仅拉入一个分支git fetch old-repo dev或浅获取git fetch old-repo depth=1,但是当我尝试另一条命令,例如git diff old-repo/dev时,出现以下错误:

fatal: ambiguous argument 'old-repo/dev': unknown revision or path not in the working tree.

有人知道为什么提取可能运行得这么慢吗?或者,如果有一种方法只能提取dev分支,那么我可以合并更改(我对远程上的所有其他分支都不感兴趣)。我曾尝试在互联网上进行搜索,但大多数结果是有关克隆速度太慢的,这不是我想要的。

编辑-替代方法:

我还没有找到解决方案,但是有解决方法。可以使用本地克隆的仓库而不是远程仓库:

git remote add old-repo ../old-repo
git remote update

这可以正常工作,但是更新过程稍微复杂一些。不必git pull old-repo dev,您必须:

cd ../old-repo
git pull
cd ../new-repo
git remote update
git pull old-repo dev

0 个答案:

没有答案