2012-10-23 75 views
3

我有一個大的存儲庫,我運行git gc --aggressive 我想克隆本地文件系統。我期望它通過硬鏈接非常快速地完成 ,但它需要大約6分鐘到 完成沒有結帳(git clone -n)。幾秒鐘後我看到消息Cloning into 'repos'... done.,但是Git只是 在那裏掛了6分鐘,儘管聲稱它已「完成」。任何想法,在這一點上做什麼,以及我如何加快速度?Git克隆完成後會發生什麼?

回答

0

我不知道你是如何準確地克隆它,但提供源沒有協議可以大大提高速度:

git clone -m /path/to/source /path/to/target

會比

git clone -m file:///path/to/source /path/to/target

快得多一些其他線索,可能會證明有幫助:

  • 你使用的是什麼git版本,儘量使用最新版本。
  • 什麼是你正在做這件事的文件系統,它支持硬鏈接?
  • 您在同一個磁盤/分區上覆制的目錄是?
+0

我在本地NFS掛載的文件系統上克隆。我正在使用最新版本的Git(1.8.0-rc2)。文件系統支持硬鏈接,沒有它們甚至更慢。 NFS從我這裏隱藏磁盤,但可以用硬鏈接複製這些文件。問題似乎在update_remote_refs()中,有些需要完成幾個鏈接。我在Git郵件列表上創建了一個線程,但似乎已經失去了修復這個bug的興趣。 – dromodel