如何列出用'skip-worktree'忽略的文件

161*_*903 36 git

我已git update-index --skip-worktree <file>按照此处的建议使用git忽略对跟踪文件的本地更改.但现在我忘记了我应用它的文件.如何列出应用了skip-worktree标志的所有文件?

161*_*903 53

使用以下命令:

git ls-files -v . | grep ^S
Run Code Online (Sandbox Code Playgroud)

说明: git ls-files .列出仓库中的所有文件(假设您位于根文件夹中).-v使输出详细,这意味着它将使用文件名前面的字母缩写文件状态.选项是:

H缓存了

S跳过工作树

M未合并

R删除/删除

C修改/更改

K被杀了

?其他

资源

因此,为了仅列出带有skip-worktreeflag的文件,输出通过管道传递给grep with ^Sas,这意味着只列出以S开头的行.

  • 使用 Fish shell 时,必须将 grep 的参数括在引号中 (`git ls-files -v | grep '^S'`),因为在 Fish shell 中,插入符号具有特殊含义(重定向 `stderr`)。 (4认同)
  • 沿着同样的想法,但对于Windows,使用powershell,使用:`git ls-files -v.| select-string -pattern ^ S` (4认同)
  • 使用Cmder或Git Bash for Windows:`git ls-files -v | grep"^ S"` (3认同)
  • 对于Windows普通命令行:`git ls-files -v。| findstr“ ^ S”` (3认同)

use*_*648 7

对于使用 Tortoise Git 的用户,右键单击文件夹并选择TortoiseGit > Check for modifications,然后只选中Show ignore local changes flagged files.

如果您想停止忽略文件,请右键单击它并选择Unflag as skip-worktree and assume-unchanged