如何在提交后删除本地git历史记录?

时间:2012-03-22 09:11:18

标签: git versioning history

我想从Dropbox切换到开源Sparkleshare。它使用git进行同步和版本控制。如果说我在我的文件夹中删除了1GB文件,它将保留在本地.git文件夹的历史记录中。但我想在服务器而不是客户端上有这种繁重的数据。 如何提交我的存储库并使用git删除本地存储库? 非常感谢!

1 个答案:

答案 0 :(得分:6)

删除历史记录的解决方案

  1. git fetch --depth=1修剪旧提交。这使得旧提交及其对象无法访问。
  2. git reflog expire --expire-unreachable=now --all。使所有旧提交及其对象失效
  3. git gc --aggressive --prune=all删除旧对象
  4. 仅删除本地历史记录中的大文件的具体解决方案

    • GitHub提供的Git Large File Storage,它始终在服务器上存储大型文件,并仅在结帐时提取它们。非常容易设置和使用 - 如果您的存储库位于GitHub,bitbucket或gitlab上。
    • git-annex - 允许在任何地方存储大文件

    讨论:How do Git LFS and git-annex differ?