Ветка Git: ветки не отличаются

Ветка Git: ветки не отличаются

Уже несколько дней у меня проблема с git.

Предположим, у меня есть ветка "master". Я создаю ветку "normal", делаю "git checkout normal", а затем немного меняю свой код.

Если я выполню команду «git checkout master», а затем «git status», изменения, которые я сделал в ветке normal, будут видны, хотя я нахожусь в совершенно другой ветке!

Это не то поведение, которое у меня всегда было. Должен сказать, что сейчас я полностью бессилен. Я не знаю, что произошло.

Не могли бы вы мне помочь? У меня git 2.3.3 и я использую Manjaro Linux.

решение1

Вы не зафиксировали свои изменениянормальныйветвь. Изменены только файлы в рабочем каталоге.

Вы можете переключаться между ветками Git даже при изменениях в рабочем каталоге. Если нет конфликтов, Git покажет:

M       test.txt  
Switched to branch 'master'

Это не означает, что эти изменения уже вступили в силу.владелецветка. Они просто в рабочем каталоге. Так что теперь вы можете зафиксировать их ввладелец( git commit -a) или проверьтенормальныйи зафиксируйте там.

Если возникнет конфликт между локальными изменениями и изменениями в ветке, которую вы хотите проверить, Git выведет сообщение об ошибке:

error: Your local changes to the following files would be overwritten by checkout:  
         test.txt  
Please, commit your changes or stash them before you can switch branches.  
Aborting

В этом случае вам необходимо либо зафиксировать эти изменения, stashлибо полностью отменить их, чтобы проверить нужную ветку.

Связанный контент