2011-06-22 38 views

回答

0
git read-tree --reset -i 4b825dc642cb6eb9a060e54bf8d69288fbee4904 
git clean -dfx 
git reset --hard 

想想git-config core.sharedRepository是否需要chmod很多东西。

请注意,将删除所有不被承诺的商品。要非常小心,一切都是承诺或隐藏什么的。

另请注意,这不一定与其他人在检出时得到的结果相匹配。具体来说,它在结帐过程中尊重您的umask

哦,而4b825d ... SHA是代表空树的神奇的SHA。因此,我们首先将索引设为空,然后删除不在索引中的所有内容(全部),然后将索引和工作目录重置为HEAD。

+0

有没有办法做到这一点,它不会删除没有提交的一切? – NoviceCoding

+0

@NoviceCoding:那么'git clean -df'会删除所有不是.gitignored的文件,这可能对你来说已经足够了。你也可以'git status --porcelain | egrep'^ D'| colrm 1 3 | xargs'-d \ n'rm'而不是'git clean',我相信它应该会破坏所有git提交的文件,而不是其他的。 –