Невозможно переключить ветви в git, выдает ошибку: следующие неотслеживаемые файлы рабочего дерева будут перезаписаны извлечением

Когда я делаю некоторые изменения в ветке и пытаюсь переключиться на основную ветку, я продолжаю получать эту ошибку: Следующие неотслеживаемые файлы рабочего дерева будут перезаписаны извлечением

Решения в этом потоке не работают: следующие неотслеживаемые файлы рабочего дерева будут перезаписаны checkout

1 ответ

Решение

Я предполагаю, что причина этой ошибки заключается в том, что файлы, перечисленные в вашей ошибке, не отслеживаются в вашей текущей searchPlus филиал, но они отслеживаются в вашем master ветка. Если бы Git были оформить заказ master вслепую, это будет забивать (то есть перезаписывать) эти файлы. Когда Git проверяет другую ветку, он перезаписывает каждый отслеживаемый файл. Обычно, если перезаписываемый файл уже отслеживается, существует минимальный риск, потому что у вас все еще есть другая ветвь. Однако в случае ваших неотслеживаемых файлов они будут перезаписаны, и поэтому вы потеряете состояние, в котором находились эти файлы. searchPlus, Что еще хуже, после проверки masterесли бы вы должны были вернуться к searchPlusэти файлы фактически исчезнут, потому что Git определит, что эти файлы не существуют в вашем searchPlus ветка.

Чтобы обойти это, одним из возможных решений было бы просто git add эти файлы и сделать коммит. Предполагая, что они уже были совершены в masterВозможно, имеет смысл, чтобы эти файлы были повсеместно версионированы.

Как примечание, те .project файлы в вашем сообщении об ошибке кажутся мне подозрительными. Как правило, файлы конфигурации не должны быть версионированы Git, так что вы можете посмотреть, действительно ли вы хотите, чтобы они версионировались в master ветка.

Другие вопросы по тегам