之前看漏眼把一个zip的文件commit了,然后我又不小心push到远程gitlab上,导致项目直接大了10M。于是我查了下git的资料,发现可以用删除分支来解决这个问题,下面我来讲讲做法
本地处理
首先需要把checkout到错误分支的前一个分支(假设我的分支名为bate)
git checkout bate^
然后checkout到新的分支上,并把正确的文件提交过来
git checkout -b bate-recover
git checkout bate - file.xx
...
然后删除bate分支并提交,因为bate分支没合并所以需要强制删除,
git branch -D bate
git push origin bate --delete
最后把bate-recover分支checkout到bate上再提交,完成!!!
git checkout -b bate
git push origin bate
已pull项目处理
如果某个服务器不小心pull了这个带zip文件的分支同样需要删除分支:
# 首先checkout到其他分支
git checkout master
# 删除bate分支
git branch -D bate
# 重新pull bate分支
git pull origin bate