我在 Git 的很多提交中有很多增量文件 (.*~),我想从所有提交中删除所有文件。
问问题
154 次
1 回答
2
从所有提交中删除看起来像使用git filter-branch
:
git filter-branch --index-filter 'git rm --cached --ignore-unmatch .*~' HEAD
GitHub 帮助页面有一个更完整的命令:
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch .*~' --prune-empty --tag-name-filter cat -- --all
使用(如本博文中所述):
--index-filter
这类似于--tree-filter
但不检查树,并且速度更快。--ignore-unmatch
参数,用于忽略不存在的文件。
不过,这将改写你的回购的历史。
这意味着任何已经克隆了所述 repo 的合作者都需要将他/她的本地克隆重置为你的 repo 的新历史git push --force
。
于 2013-05-26T14:20:07.663 回答