Как перечислить файлы, проигнорированные с помощью "skip-worktree"

Я использовал git update-index --skip-worktree <file>, как предлагалось здесь, чтобы git игнорировать локальные изменения в отслеживаемом файле. Но теперь я забыл, к каким файлам я его применил. Как я могу перечислить все файлы, для которых применяется флаг skip-worktree?

Ответ 1

Используйте следующую команду, если на * nix (Linux, Mac):

git ls-files -v . | grep ^S

или, если в Windows, вы можете использовать:

git ls-files -v . | findstr "^S"

Объяснение: git ls-files. перечисляет все файлы в репо (при условии, что вы находитесь в корневой папке). -v делает вывод подробным, что означает, что он будет сокращать статус файла с буквой перед именем файла. Варианты:

H кэшируется

S skip-worktree

М не погруженный

R удалено/удалено

C изменено/изменено

К быть убитым

? Другой

Источник

Таким образом, чтобы skip-worktree только файлы с флагом skip-worktree, выходные данные skip-worktree в grep с аргументом ^S качестве аргумента, что означает, что перечислены только строки, начинающиеся с S.

Ответ 2

Для тех, кто использует Tortoise Git, щелкните правой кнопкой мыши на папке и выберите TortoiseGit > Check for modifications, затем установите флажок Show ignore local changes flagged files.

Если вы хотите прекратить игнорировать файл, щелкните правой кнопкой мыши по нему и выберите Unflag as skip-worktree and assume-unchanged.