Задать вопрос
@stanislavkm

Почему изменения сохраняются и на новой ветке и в main?

В ветке main делаю команду:
git checkout -b feature
Вношу изменения на этой ветке, но изменения применяются и на ветке main. Спокойно без коммита с ветки feature пускает в ветку main. В чем проблема?
  • Вопрос задан
  • 961 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Решения вопроса 2
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Вам показалось. Изменения рабочего каталога не принадлежат никакой ветке, это просто каталог с файлами. Если вы что-то изменили, не закоммитили, и переключитесь на main, то гит не уничтожает эти изменения а оставляет их в рабочем каталоге и попытается слить с файлами из main. Это не значит что они попали в main. Без коммита они никуда не попадут.
Если вы сейчас сделаете git status, то увидите что файлы в рабочем каталоге изменены, т. е. в рабочем каталоге не содержимое main, а какие-то другие файлы.
Если сбросить рабочий каталог git reset --hard, то увидите реальное содержимое main, а ваши изменения окончательно потеряются.
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Git
software engineer
без коммита, вы не фиксируете изменения в ветке, а только в working directory
Проверьте все изменения, добавьте их в коммит, закоммитьте, а уже потом переключайтесь в другую ветку

Либо юзайте git stash
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽