Почему при переключении веток в Git выдается ошибка «Неотслеживаемый файл рабочего дерева»? - PullRequest
3 голосов
/ 10 декабря 2011

До вчерашнего дня в моем проекте была только ветка с файлом .gitignore, похожая на:

*.log
upload/*
!upload/global/empty.txt

Она работала нормально, пока я не добавил новую ветку и не изменил этот .gitignore, чтобы не игнорировать загружаемые файлы.Новый файл .gitignore остался только с одной строкой:

*.log

Я без проблем вернулся в master ветку, но теперь каждый раз, когда я хочу перейти в новую ветку, я получаю сообщениенапример:

ошибка: неотслеживаемый файл рабочего дерева 'upload / file.txt' будет перезаписан слиянием.

Мне нужно оформить эту ветку, чтобы работать с нейили, по крайней мере, спасти сделанные мной коммиты.

Примечание: я нашел этот похожий вопрос , но не отвечаю на мой вопрос.

1 Ответ

9 голосов
/ 10 декабря 2011

Ваша проблема в том, что в новой ветке вы не отслеживаете upload/file.txt, но вы отслеживаете ее в своей основной ветке. Поэтому, когда вы переключаетесь на новую ветку, ваша версия от master перезаписывает неотслеживаемый файл.

Добавьте флаг -f в git checkout , чтобы git перезаписал неотслеживаемый файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...