有些时候,git 仓库累积了太多无用的历史更改,导致 clone 文件过大。如果确定历史更改没有意义,可以采用下述方法清空历史,
1) 先 clone 项目到本地目录 (以名为 mylearning 的仓库为例)
$ git clone git@gitee.com:badboycoming/mylearning.git
2) 进入 mylearning 仓库,拉一个分支,比如名为 latest_branch
$ git checkout --orphan latest_branch
3) 添加所有文件到上述分支 (Optional)
$ git add -A
4) 提交一次
$ git commit -am "Initial commit."
5) 删除 master 分支
$ git branch -D master
6) 更改当前分支为 master 分支
$ git branch -m master
7) 将本地所有更改 push 到远程仓库
$ git push -f origin master
8) 关联本地 master 到远程 master
$ git branch --set-upstream-to=origin/master
注意:对 gitee 用户,因为 gitee 目前限制单个仓库大小为 1024 MB,清除完历史记录后,还要去项目主页 Settings 下做一下 Git GC.
完。