отменить обновление git-index --assume-unchanged
то, как вы игнорируете просмотр / отслеживание определенного dir / файла. вы просто запустите это:
git update-index --assume-unchanged <file>
теперь, как вы отменяете его, чтобы за ними снова наблюдали? (назовем это un-assume)
8 ответов
чтобы получить undo / show dir's / files, которые настроены на предположение-unchanged запустите это:
git update-index --no-assume-unchanged <file>
чтобы получить список/файлов dir, которые являются assume-unchanged
запустить:
git ls-files -v|grep '^h'
если это команда, которую вы часто используете - вы можете рассмотреть вопрос о наличии псевдонима для нее, а также. Добавьте к вашему глобальному .gitconfig
:
[alias]
hide = update-index --assume-unchanged
unhide = update-index --no-assume-unchanged
после сохранения этого в свой .gitconfig
, вы можете запустить команду cleaner.
git hide myfile.ext
или
git unhide myfile.ext
этой ресурс был очень полезным
git update-index функция имеет несколько вариантов, которые вы можете найти набрав, как показано ниже:
git update-index --help
здесь вы найдете различные опции-как обращаться с функцией update-index.
[если вы не знаете имя файла]
git update-index --really-refresh
[если вы знаете имя файла ]
git update-index --no-assume-unchanged <file>
вернет все файлы, которые были добавлены в список игнорирования через.
git update-index --assume-unchanged <file>
Я предполагаю (хех), что вы имели в виду --assume-unchanged
, Так как я не вижу . Обратный --assume-unchanged
is --no-assume-unchanged
.
если вы хотите отменить все файлы, которые были применены, предполагают неизменным с любым статусом, а не только кэшируются (git помечает их символом в нижнем регистре), вы можете использовать следующую команду:
git ls-files -v | grep '^[a-z]' | cut -c 3- | tr '2' '0' | xargs -0 git update-index --no-assume-unchanged
-
git ls-files -v
будет печатать все файлы со статусом -
grep '^[a-z]'
будет фильтровать файлы и выбирать только предположить неизменными -
cut -c 3-
удалит статус и оставит только пути, вырезая от 3-го символа до конца -
tr '2' '0'
будет заменить символ конца строки (\012) на нулевой символ (\000) -
xargs -0 git update-index --no-assume-unchanged
пройдет все пути, разделенные нулевым символом наgit update-index --no-assume-unchanged
отменить
добавлять к @adardesign
ответ, если вы хотите сбросить все файлы, которые были добавлены в assume-unchanged
список no-assume-unchanged
за один раз вы можете сделать следующее:
git ls-files -v | grep '^h' | sed 's/^..//' | sed 's/\ /\ /g' | xargs -I FILE git update-index --no-assume-unchanged FILE || true
это просто вычеркнет два символа, выведенных из grep, т. е. "h "
, то избежать пробелов, которые могут присутствовать в именах файлов, и, наконец,|| true
предотвратит преждевременное завершение команды в случае, если некоторые файлы в цикле имеют ошибки.
синтезировать отличные оригинальные ответы от @adardesign, @adswebwork и @AnkitVishwakarma и комментарии от @Bdoserror и @Retsam, с дополнительными ссылками документации и псевдонимом оболочки...
Основные Команды
до сброс файл что это предположим-без изменений вернуться к нормальной:
git update-index --no-assume-unchanged <file>
до список всех файлы, которые предполагают-без изменений:
git ls-files -v | grep '^[a-z]' | cut -c3-
в сбросить все предположим-неизмененные файлы вернулись к норме:
git update-index --really-refresh
ссылки
чтобы упростить выполнение этих общих задач в git, добавьте следующий раздел в .gitconfig
для пользователей (например,~/.gitconfig
в системе *nix или macOS):
[alias]
hide = update-index --assume-unchanged
unhide = update-index --no-assume-unchanged
unhide-all = update-index --really-refresh
hidden = ls-files -v
чтобы сделать его легко выполнить список всех файлов, которые предполагают-без изменений в оболочке, которая поддерживает псевдоним (например, bash), создайте псевдоним такой as:
alias git-hidden="git hidden | grep '^[a-z]' | cut -c3-"
для оболочек без псевдонима скрипт может сделать трюк.
Если вы используете Расширения Git, затем выполните следующие действия:
- перейти к окну фиксации.
- нажмите на выпадающее менюизменения каталог.
- выберите показать assummed-неизмененные файлы.
- щелкните правой кнопкой мыши файл, который вы хотите unassumme.
- выберите не assumme без изменений.
вы сделали.