Git checkout выдает сообщение об ошибке - файлы без изменений
После запуска git update-index --assume-unchanged path/to/file
на определенной ветке я не могу переключать ветки с помощью git checkout
.
Он выдает следующую ошибку:
Ошибка: ваши локальные изменения в следующих файлах будут перезаписаны с помощью checkout:
path/to/file
Пожалуйста, сделайте свои изменения или запишите их, прежде чем вы сможете переключаться между ветвями.
Aborting
Но оба git diff
и git status
говорят мне, что нет никакой разницы, и нет ничего для фиксации /stash.
Как отключить ветвь?
Есть ли лучшая альтернатива git update-index --assume-unchanged
(кроме .gitignore
, потому что я не хочу, чтобы ее игнорировали)? (То же, что и вопрос 2 @git update-index --no-take-unchanged не работает)
Ответы
Ответ 1
После некоторого использования я предпочитаю git update-index --skip-worktree
, что является гораздо лучшей альтернативой git update-index --assume-unchanged
.
Обратите внимание на Разницу между "предполагать-неизменным" и "skip-worktree" для получения дополнительной информации.
Я также планирую проверить метод, указанный в этот ответ на git считать неизменным vs skip worktree - игнорирование символической ссылки, которая, кажется, больше защитный подход.