对于我的持续集成构建,我希望确保没有杂乱的文件被存放在我的git沙箱中,并且没有文件被无意中更改。
我知道git reset --hard HEAD,这解决了部分问题。但我想我要做的是删除所有未跟踪和忽略的文件。我可以用暴力的方式做到这一点:
rm -rf *
git checkout -f但肯定有一种更有效的方法来做到这一点。有什么想法吗?
发布于 2012-03-17 09:21:16
(为后代扩展)
您的问题可以分为两部分:将修改过的文件恢复到上次提交时的状态,并删除不属于存储库中的任何额外文件:
git reset --hard HEAD将把你的文件恢复到它们在HEAD中的状态,删除任何修改(即使它们是准备提交的)
git clean -f -d -x将删除任何未跟踪的文件或目录,包括忽略的文件(感谢@Jefromi)
发布于 2012-03-17 11:56:29
单独克隆repo for CI不是更好的解决方案吗?
您只需从您的-working-repo获取|克隆CI-job之前提交的所有更改(没有任何工件和本地更改)
https://stackoverflow.com/questions/9746225
复制相似问题