如何删除远程仓库中近5天提交的文件?
仅删除Git仓库中近5天提交涉及的文件
核心思路
Git没有直接删除“近5天提交文件”的命令,需要先筛选出近5天提交中涉及的文件,再批量删除并推送变更。
具体步骤
筛选近5天提交涉及的文件
执行以下命令,列出近5天所有提交里修改/新增的文件(去重后):git log --since="5 days ago" --name-only --pretty=format:'' | sort | uniq > files_to_delete.txt- 如果你只想删除近5天新增的文件,可以加上
--diff-filter=A参数:git log --since="5 days ago" --name-only --pretty=format:'' --diff-filter=A | sort | uniq > files_to_delete.txt
- 如果你只想删除近5天新增的文件,可以加上
检查待删除文件列表
打开生成的files_to_delete.txt,确认里面的文件都是你要删除的,避免误操作。批量删除文件
用xargs批量处理文件列表:xargs git rm -rf < files_to_delete.txt- 如果文件路径包含空格,改用以下命令避免出错:
cat files_to_delete.txt | tr '\n' '\0' | xargs -0 git rm -rf
- 如果文件路径包含空格,改用以下命令避免出错:
提交并推送变更
git commit -m "Delete files modified/added in the last 5 days" git push
注意事项
- 上述命令会删除近5天提交中出现过的所有文件,包括之前存在但近5天被修改过的文件,请根据需求选择对应命令。
- 执行删除前务必备份仓库或确认文件无需保留,避免数据丢失。
内容的提问来源于stack exchange,提问作者Rich
相关产品推荐
相关产品推荐

