昨天我花了几个小时调试我的git repo的问题,git reset HEAD --hard
没有解决这个问题,因为导致问题的文件被.gitignore
忽略了。有没有办法“刷新”或“清理”所有被忽略的文件的git仓库,以便只存在由git跟踪的文件?
我终于通过删除repo并再次从github克隆它来修复我的问题,但是在将来,我想立即删除所有可能存在问题的文件(那些被忽略的文件)。
答案 0 :(得分:34)
git clean -dfX
git-clean - 从工作树中删除未跟踪的文件
-d
用于删除目录
-f
强行删除
-n
实际上不要删除任何内容,只显示将要执行的操作
-X
仅删除Git忽略的文件。这可能有助于从头开始重建所有内容,但保留手动创建的文件。
答案 1 :(得分:6)
有一个命令解决方案:
git ls-files --ignored --exclude-standard | sed 's/.*/"&"/' | xargs git rm -r --cached
它的作用是: