团队成员为git添加了数百个megs

Par*_*x13 8 git extra

可能重复:
如何删除github上的提交?

因此,我们项目的团队成员已经承诺并向我们的git项目存储库推送了700多万个废话...她认为她只添加了2个图像,但不知何故最终将她桌面的全部内容复制到git文件夹并以某种方式提交它.我不知道为什么她认为2张照片上传20分钟并不奇怪...

无论如何,我现在处于困境,作为这个项目的负责人.就我而言,我有两个选择,我不喜欢任何一个

  1. 我可以从bitbucket中删除存储库,然后用我想要的文件重新启动它.这将删除所有以前的编辑,因为只有我想要的文件的当前版本可用

  2. 我可以删除错误的数据并推送更改.只有我们想要的文件才会被进一步管理,但是她放在那里的所有额外的麻烦将永远存在于git中,这使我们的项目膨胀100倍.

有没有办法永远删除提交,就好像它从未发生过一样?除了更多的补救性git训练之外,管理这种打嗝的最佳方法是什么...

Lui*_*ano 2

我会做

$ git checkout master~1 -b newmaster
$ git branch -D master
$ git reflog expire --expire=now --all
$ git gc --prune=now
$ git checkout -b master
$ git branch -D newmaster
Run Code Online (Sandbox Code Playgroud)

gc 应该进行垃圾收集。我认为你可以在服务器上执行此操作。