递归git update-index --assume-unchanged

ugl*_*nky 35 git gitignore

我正在尝试运行以下内容:

git update-index --assume-unchanged myFolderToIgnore
Run Code Online (Sandbox Code Playgroud)

myFolderToIgnore文件夹在哪里.然而它没有说它"无法标记"它.

所以我尝试过:

git update-index --assume-unchanged myFolderToIgnore/
Run Code Online (Sandbox Code Playgroud)

哪个GIT响应Ignoring path myFolderToIgnore/但没有做任何事情(它仍然看到我的更改并尝试检查它们).

最后,我必须进入并手动将每个文件标记为未更改.我在这里错过了什么?

Chr*_*ial 62

update-index是一个内部管道命令,因此不如真正的前端命令.您将不得不自己处理递归位:

git ls-files -z myFolderToIgnore/ | xargs -0 git update-index --assume-unchanged
Run Code Online (Sandbox Code Playgroud)

  • 在GNU系统上,带有`xargs -0`的`ls-files -z`是一个更强大的解决方案,以防万一名称中有空格的文件. (2认同)