首页 > 解决方案 > 运行 git clean -X 时保留一些 gitignored 文件

问题描述

我正在使用您经常想要进行干净构建的存储库。这会导致构建脚本发出 a git clean -Xdff,它将删除与.gitignore. 我希望一些被 Git 忽略的文件(例如.project来自 Eclipse)在清理后仍然存在。

我尝试-e为“排除”添加标志,但这似乎无济于事,因为我们有意清理 Git 忽略的内容。

亲眼看看:

~$ mkdir testrepo && cd testrepo
~/testrepo$ git init
Initialized empty Git repository in /home/turbulencetoo/testrepo/.git/
~/testrepo$ echo ".project" > .gitignore
~/testrepo$ touch .project
~/testrepo$ git clean -Xn
Would remove .project
~/testrepo$ git clean -Xn -e .project
Would remove .project

您会建议对本地构建脚本中的调用(或周围代码)进行哪些更改,以便在干净构建期间git clean保留我的文件?.project

标签: gitgit-clean

解决方案


如@turbulencetoo 所述,警告此解决方案

如果您还没有添加它们,则会产生删除工作集中其他未跟踪文件(例如 newSourceFile.c)的副作用。


我认为你的问题是你使用X而不是x标志,你应该使用这个,

git clean -xn -e .project

推荐阅读