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