获得干净的git沙箱最有效的方法是什么?

mpo*_*llo 9 git continuous-integration

对于我的持续集成构建,我想确保在我的git沙箱中没有存放任何杂散文件,并且没有任何文件被无意中更改.

我知道git reset --hard HEAD,这解决了部分问题.但我想我要做的是删除所有未跟踪和忽略的文件.我可以用蛮力的方式来做,只做:

rm -rf *
git checkout -f
Run Code Online (Sandbox Code Playgroud)

但必须有一种更有效的方法来做到这一点.有任何想法吗?

mad*_*th3 14

(为子孙后代扩大)

您的问题可以分为两部分:将修改后的文件返回到上次提交中的状态,并删除不属于存储库的任何额外文件:

git reset --hard HEAD
Run Code Online (Sandbox Code Playgroud)

将您的文件恢复到HEAD中的状态,删除任何修改(即使它们是要提交的阶段)

git clean -f -d -x
Run Code Online (Sandbox Code Playgroud)

将删除任何未跟踪的文件或目录,包括被忽略的文件(感谢@Jefromi)