团队成员向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

    上一篇: Team member added hundreds of megs to git

    下一篇: How can I cut down the number of queries?