git错误提交大文件导致与远端同步失败的解决方法

问题是这样的,有人使用git -A将本地一个大sql提交到了仓库中,但是在push的时候发生了错误,由于文件过大,gitlab服务器是没有办法更新远端仓库的,但是在本地仓库看来已经更新成功了,一直在报502的错误,也就是在这次提交之后,本地和远端服务器的仓库就脱节了,之后人们在提交的时候其实都是只更新了本地仓库,远端仓库一直卡在这次更新之前。。。囧

之后按照stackoverflow上给出的方法,得到了解决。

首先使用git lola –name-status查看本地详细的log以及每次改动,通过这个信息,找到了某次错误提交的大文件以及本次提交的tag 之后使用git rebase -i hash就可以进入编辑历史提交的模式,根据提示里面有总共pick,reword,edit,squash,fixup,exec几种模式,当时是先使用edit编辑了错误提交记录a,之后使用squash与上一次提交合并,再运行git rm –cache bigfile.name,git commit –amend -C HEAD,git rebase –continue

因为是第一次使用,就莫名其妙的消除了本次错误,提交到了远端仓库

转载请注明来源链接 http://just4fun.im/2016/12/17/git-e9-94-99-e8-af-af-e6-8f-90-e4-ba-a4-e5-a4-a7-e6-96-87-e4-bb-b6-e5-af-bc-e8-87-b4-e4-b8-8e-e8-bf-9c-e7-ab-af-e5-90-8c-e6-ad-a5-e5-a4-b1-e8-b4-a5-e7-9a-84-e8-a7-a3-e5-86-b3-e6-96-b9-e6-b3-95/ 尊重知识,谢谢:)