Pjeroo
@Pjeroo
Веб-разработчик

Как правильно работать с ветками в git?

Добрый день. Работал с одной веткой, пока не появился таск, который напрочь меняет всю структуру приложения (добавление модульной структуры), я создал под это дело отдельный бранч и начал работать с ним, все сделал, все отлично - нужно переключиться на мастер бранч, переключился, поработал там, затем пытаюсь переключиться на второй бранч и внезапно получаю ошибку:
Your local changes to the following files would be overwritten by checkout

Я так понимаю она возникла из-за того, что в обоих бранчах был тронут один и тот же файл? Избавиться от этого можно коммитом, это ясно, но разве бранчи это не обособленные друг от друга рабочие пространства? Проясните, пожалуйста, ситуацию. Заранее благодарю
  • Вопрос задан
  • 481 просмотр
Решения вопроса 2
v_decadence
@v_decadence
Эта ошибка значит, что у Вас в рабочем дереве есть измененные файлы, которые будут перезаписаны (то есть изменения будут утеряны) в процессе переключения на нужную ветку. Git не даёт Вам потерять свою работу.
Вам нужно сделать либо коммит, чтобы их зафиксировать и отчистить рабочее дерево перед checkout, либо stash, чтобы оставить работу на потом.
Ответ написан
dizballanze
@dizballanze
Software developer at Yandex
Бранчи обособленные - это да, суть ошибки в том, что есть несохраненные изменения и даже не очень важно, чтобы изменялись одни и те же файлы. Переключится можно или потеряв все изменения или сохранив их выполнив коммит/добавив в stash. По-этому гит предлагает вам решить, что делать с этими изменениями и только потом позволит переключиться на другой бранч.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы