Допустим, я работаю над branch1
и создаю branch2
из branch1
.
Вплоть до недавнего времени, когда я вносил некоторые изменения в branch2
и не фиксировал их без изменения на branch1
, консоль IntelliJ предупреждала меня, что сначала мне нужно зафиксировать свои изменения, иначе я не смог бы изменить.
Но теперь, когда я использую git checkout branch1
, когда я нахожусь на branch2
без фиксации моих изменений на branch2
, по какой-то причине все мои изменения автоматически фиксируются и переносятся на branch1
.
Например:
Я на branch2
и изменяю некоторые файлы. Я забыл зафиксировать изменения и попытаться переключиться на branch1
. Вот что происходит ...
git checkout branch1
Switched to branch 'branch1'
M src/main/java/Test.java
Your branch is up to date with 'origin/branch1'.
... и все изменения, которые я сделал в branch2
, переносятся в branch1
!
Я не хочу такого поведения. Я не хочу переносить все изменения, которые я сделал в branch2
, в branch1
, когда я использую git checkout. Это должно предупредить меня, что я забыл зафиксировать вместо принятия изменений.
EDIT:
Ранее я получал сообщение об ошибке, подобное следующему:
git checkout branch1
error: Your local changes to the following files would be overwritten by checkout:
Test.java
Please, commit your changes or stash them before you can switch branches.
Aborting
И теперь сообщение игнорируется, и изменения просто автоматически объединяются / переносятся из branch2
в branch1
, как в примере выше, без отображения ошибки.