2012-03-22 261 views
2

我想從Dropbox切換到開源Sparkleshare。它使用git進行同步和版本控制。如果說我有一個1GB文件,我在我的文件夾中刪除,它保留在本地.git文件夾的歷史記錄中。但是我想在服務器上而不是客戶端上擁有這種大量數據。 如何提交我的倉庫並使用git刪除本地倉庫? 非常感謝!如何在提交後刪除本地git歷史記錄?

+0

也許這將幫助:http://stackoverflow.com/questions/3152550/moving-a-git-directory – Manatok 2012-03-22 09:15:49

回答

5

溶液除去歷史

  1. git fetch --depth=1修剪老的提交。這使舊提交及其對象無法訪問。
  2. git reflog expire --expire-unreachable=now --all。要過期的所有舊的提交及其對象
  3. git gc --aggressive --prune=all刪除舊的對象

具體的解決辦法只是刪除大量文件在本地歷史

  • GitHub上提供的Git Large File Storage,它總是存儲大文件在服務器上並僅在結賬時取回它們。非常容易設置和使用 - 以防您的存儲庫位於GitHub,bitbucket或gitlab上。
  • git-annex - 允許存儲大文件的任何地方

討論:How do Git LFS and git-annex differ?

相關問題