2014-01-09 66 views
4

我有一個大型的存儲庫,磁盤空間大約5Gb。我只需要這個存儲庫中的幾個文件夾,我就可以爲這些文件夾執行稀疏檢出。但.git文件夾的磁盤空間消耗仍然是5GB。那麼,有什麼辦法可以節省磁盤空間,只克隆需要的文件夾或其他方式?如何在git中克隆部分存儲庫以節省磁盤空間

步驟爲我疏結帳:

git init 
git config core.sparsecheckout true 
touch .git/info/sparse-checkout 
echo path/to/folder1 >> .git/info/sparse-checkout 
echo path/to/folder2 >> .git/info/sparse-checkout 
git remote add -f <branch name> <url>   <==taking too much memory here 
git checkout <tag> 
+0

我懷疑部分克隆是可能的,但這可能有助於減小大小:http://stackoverflow.com/questions/5613345/how-to-shrink-the-git-folder – jpmc26

回答

1

唯一的其他方式(試圖削減下來咄咄逼人git gc的git的大小旁邊)將是:

  • 分離在此文件夾中專用分支(在服務器端的git倉庫中)
  • 將該分支推入新回購(仍在服務器端)
  • 克隆該新回購(在喲上烏爾本地機器)

這樣一來,你
處理的是隻包含您感興趣的文件夾分支歷史上的一箇中間回購協議。然而,積分可以克隆主倉庫,取第二個回購(只有一個分支的回購),並重新整合您在第二個回購中發佈的任何修改。