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

时间:2012-03-17 00:40:29

标签: git continuous-integration

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

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

rm -rf *
git checkout -f

但必须有一种更有效的方法来做到这一点。有什么想法吗?

2 个答案:

答案 0 :(得分:13)

为后代扩展

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

git reset --hard HEAD

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

git clean -f -d -x

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

答案 1 :(得分:-1)

对于CI更好的解决方案,不是单独的repo克隆吗?

您只需从您的工作回购中克隆CI-job之前所有已提交的更改(没有任何工件和本地更改)

相关问题