2012-03-22 190 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?

相关问题