删除除最近5次提交外的所有记录以缩小Git仓库体积
删除Git仓库距今第5次提交之前所有提交的操作步骤
- 克隆目标仓库到本地
git clone myrepo - 进入克隆后的仓库目录
cd myrepo - 获取距今第5次提交的哈希值(也可直接用
HEAD~4替代后续命令中的哈希值,HEAD代表最新提交,HEAD~n对应往前数第n+1次提交)git rev-parse HEAD~4 - 启动交互式变基,重写从根提交到第5次提交父节点的历史
git rebase -i --root HEAD~4^执行后会自动打开文本编辑器:
- 找到第5次提交之前的所有提交行,将行首的
pick改为drop - 保存并退出编辑器(若使用Vim,按
i进入编辑模式,修改后按Esc,输入:wq回车即可)
- 找到第5次提交之前的所有提交行,将行首的
- 强制推送修改后的历史到远程仓库,覆盖原有记录
git push -f myrepo main
注意:强制推送会覆盖远程仓库的历史,操作前请确保团队成员都知晓并已同步本地代码,避免代码丢失。
内容的提问来源于stack exchange,提问作者Be Kind To New Users
相关产品推荐
相关产品推荐

