Могу ли я получить список файлов, помеченных --предположим-без изменений?
что я отметил как --assume-unchanged? Есть ли способ узнать, что я спрятал, используя эту опцию?
я копал через .git/ каталог и не вижу ничего, что выглядит так, как я ожидал, но это должно быть где-то. Я забыл, что я отметил таким образом несколько недель назад, и теперь мне нужно документировать эти детали для будущих разработчиков.
4 ответов:
можно использовать
git ls-files -v. Если символ напечатан в нижнем регистре, файл помечается как предполагаемый-без изменений.для печати только те файлы, которые не изменились используйте:
git ls-files -v | grep '^[[:lower:]]'чтобы обнять вашего ленивого программиста, превратите это в git alias. Отредактируйте свой
.gitconfigфайл для добавления этого фрагмента:[alias] ignored = !git ls-files -v | grep "^[[:lower:]]"теперь печатать
git ignoredдаст вам выход такой:h path/to/ignored.file h another/ignored.file
Один Лайнер
git ls-files -v | grep "^[a-z]"Использовать Псевдонимы
ИМХО,
git hiddenлучше для файлов помечены как--assume-unchanged:git config --global alias.hidden '!git ls-files -v | grep "^[a-z]"'вот список связанных псевдонимов, которые у меня есть в
~/.gitconfig:[alias] hide = update-index --assume-unchanged unhide = update-index --no-assume-unchanged unhide-all = update-index --really-refresh hidden = !git ls-files -v | grep \"^[a-z]\" ignored = !git status -s --ignored | grep \"^!!\"чтобы заставить его работать в поддиректории и аргументы:
hidden = "!f(){ git -C \"$GIT_PREFIX\" ls-files -v \"$@\" | grep \"^[a-z]\";}; f" ignored = "!f(){ git -C \"$GIT_PREFIX\" status -s --ignored \"$@\" | grep \"^!!\";}; f"например:
# cd target # git ignored classesИнформация О Файле
для меня скрытый файлы помечено флагом
h, хотя на самом деле есть несколько других флагов в соответствии с руководствомgit-ls-files-v:-v Similar to -t, but use lowercase letters for files that are marked as assume unchanged (see git-update-index(1)).о
git ls-files-t:This option (-t) identifies the file status with the following tags (followed by a space) at the start of each line: H cached S skip-worktree M unmerged R removed/deleted C modified/changed K to be killed ? other
эта команда работает более стабильно для меня. Он будет печатать только те файлы, которые перечислены как "предположим-без изменений".
git ls-files -v|grep "^h"я использовал это много раз в разных средах, и это работает прекрасно.
Comments