You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何清理混乱的本地与远程Git仓库并保留代码修改?

解决方案

第一步:暂存当前所有未提交修改

先把本地所有暂存、未暂存、未跟踪的文件临时保存,确保修改不丢失:

git stash push -m "temp_save_all_changes"

执行后可用 git stash list 确认保存记录。

第二步:彻底清理提交历史中的大体积.exe文件

使用git filter-repo(Git 2.22+ 官方推荐工具,替代老旧的filter-branch)重写历史,彻底移除目标.exe文件的所有痕迹:

git filter-repo --path 你的大文件名称.exe --invert-paths

替换你的大文件名称.exe为实际文件名,执行后仓库历史会被完全清理。

第三步:强制推送清理后的历史到远程

由于提交历史已被修改,需要强制覆盖远程对应分支:

git push origin Improve_percentile_separation --force-with-lease

--force-with-lease比单纯--force更安全,能避免意外覆盖他人未同步的修改。

第四步:恢复本地修改

将之前暂存的所有修改恢复到工作区:

git stash pop

若恢复时出现冲突,手动解决冲突后提交即可。

后续预防

在仓库根目录创建.gitignore文件,添加规则避免后续误提交可执行文件:

echo "*.exe" >> .gitignore
git add .gitignore
git commit -m "Add .gitignore to exclude exe files"
git push origin Improve_percentile_separation

内容的提问来源于stack exchange,提问作者Rainer Bärs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.02 12:13:09