Я использовал 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
.