问题 Git:列出所有带有假定未更改标志的文件


我需要假设未更改的标志,以避免我的项目设置文件的错误提交。我这样做是通过:

git update-index --assume-unchanged <file>

还有一种方法可以通过--no-assume-unchanged来禁用它。

现在我以这种方式添加了5个文件,然后决定再次使用counter-flag添加其中一些文件。

有没有办法列出所有声明为“假设未更改”的文件?

非常感谢!


9087
2018-04-24 15:14


起源

看到 stackoverflow.com/questions/2363197/... - Uncommon


答案:


您可以使用较低级别的命令 ls-files

% git ls-files -v
h a.txt
H b.txt

如果第一个字符是小写,则在这种情况下标记为“假设未更改” a.txt。另见 ls文件的手册页


13
2018-04-24 16:07



甚至更好:git ls-files -v | egrep -r“^ h。*”非常感谢! :) - John Rumpel
当然,这对读者来说是一种练习:)。 - robinst


根据人工页面 git update-index :

要查看哪些文件设置了“假设未更改”,请使用git ls-files -v。

并根据人工页面 git ls-files :

-v

[...]对于标记为假设未更改的文件使用小写字母

因此,为了使标记为假定的所有文件保持不变,请使用:

ls-files -v | egrep -r "^[a-z] .*"

1
2018-03-08 22:20