团队成员向git添加了数百个megs
可能重复:
我如何删除github上的提交?
因此,我们项目的一名团队成员已经承诺并将700多个胡言乱语推送到了我们的git项目存储库中......她认为她只添加了2张图片,但却以某种方式最终将其桌面的全部内容复制到git文件夹,并以某种方式提交它。 我不知道为什么她认为这2张图片需要20分钟才能上传并不奇怪...
无论如何,我现在处于困境中,作为这个项目的负责人。 据我所知,我有两种选择,我不喜欢任何一种
我可以从bitbucket中删除存储库,然后用我想要的文件重新启动它。 这将删除所有以前的编辑,因为只有我想要的文件的当前版本将可用
我可以删除错误的数据并推送更改。 只有我们想要的文件将被进一步管理,但所有额外的东西都会在git中永久存在,使我们的项目膨胀100倍。
有没有什么办法可以实际上永远删除提交,就好像它从未发生过一样? 除了更多的补救性git培训,管理这种呃逆的最佳方法是什么?
我会做
$ 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
gc应该做垃圾回收。 我想你可以在服务器上这样做。
我不知道bitbucket是否允许,但你可以这样做:
git reset HEAD~
# Or the SHA of the version before the huge commit
git push --force
链接地址: http://www.djcxy.com/p/11669.html