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

use*_*244 4 versioning git history

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

kop*_*por 9

解决方案删除历史记录

  1. git fetch --depth=1修剪旧的提交.这使得旧提交及其对象无法访问.
  2. git reflog expire --expire-unreachable=now --all.使所有旧提交及其对象失效
  3. git gc --aggressive --prune=all 删除旧对象

具体解决方案只是删除本地历史记录中的大文件

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

讨论:Git LFS和git-annex有何不同?