如何清理Azure Repo中体积达10GB的.git文件夹(master分支受限)
解决Azure Repo Master分支历史过重问题
由于master分支禁止直接推送,常规PR压缩合并无法清除历史记录,可通过以下步骤彻底重置master分支,仅保留最新代码:
- 本地切换到已完成轻量化的工作分支(假设分支名为
clean-branch)git checkout clean-branch - 创建孤立分支,仅保留当前分支的最新文件状态
git checkout --orphan new-master - 添加并提交所有文件
git add -A git commit -m "重置仓库,仅保留最新代码" - 将新分支推送到远程临时分支(避免直接操作受保护的master)
git push origin new-master:temp-master - 联系仓库管理员完成以下操作:
- 在Azure Repo界面将
temp-master设置为仓库默认分支 - 删除原master分支
- 将
temp-master重命名为master - 重新配置master分支的保护规则(包括禁止直接推送)
- 在Azure Repo界面将
- 本地同步远程仓库变更
git fetch origin git checkout master git branch -D new-master temp-master
执行完成后,master分支将完全清除原有历史记录,仅保留最新代码,仓库的.git文件夹体积会大幅缩减。
内容的提问来源于stack exchange,提问作者Chakravarthy B.U.
相关产品推荐
相关产品推荐

