Переключение веток
Переключиться на существующую ветку вы можете несколькими способами, мы покажем два из них. Сейчас вы находитесь в ветке bugfix/246. Давайте переключимся на ветку master.
Во-первых, в панели Навигатор вы можете выполнить на проекте контекстную команду .
В результате указатель HEAD переместится на ветку master.
Во-вторых, в панели История вы
можете выполнить на нужном коммите контекстную команду
Извлечь....
В результате указатель HEAD снова переместится на ветку bugfix/246.
Какой в этом смысл? Давайте изменим конфигурацию и зафиксируем изменения.
Это интересно, потому что указатель на вашу ветку bugfix/246 переместился вперед, а master все еще указывает на тот коммит, где вы были в момент переключения веток. Давайте переключимся назад на ветку master.

Произошло две вещи. Указатель HEAD переместился назад на ветку master, а файлы в рабочем каталоге вернулись в то состояние, которое было сохранено в снимке, на который указывает ветка. Это также означает, что все изменения, вносимые с этого момента, будут отнесены к старой версии проекта. Другими словами, откатилась вся работа, выполненная в ветке bugfix/246, а вы можете продолжать в другом направлении.
Давайте сделаем еще одно изменение и зафиксируем его.
Теперь история вашего проекта разделилась. Вы создали ветку, переключились в нее, поработали, а затем вернулись в основную ветку и поработали в
ней. Эти изменения изолированы друг от друга: вы можете свободно переключаться туда и обратно, а когда будете готовы, можете слить их
вместе. И все это делается простыми командами: Извлечь) и .
Создание и удаление веток совершенно незатратно, так как ветка в Git'е это всего лишь файл, содержащий 40 символов контрольной суммы SHA-1 того коммита, на который он указывает. Создание новой ветки совершенно быстро и просто, это всего лишь запись 41 байта в файл (40 знаков и перевод строки).
Это совершенно отличает Git от ветвления в большинстве более старых систем контроля версий, где все файлы проекта копируются в другую папку. Там ветвление для проектов разного размера может занять от секунд до минут. В Git'е ветвление всегда мгновенное. Также, поскольку при фиксировании изменений мы сохраняем указатель на родительский коммит, найти подходящую базу для слияния в основном очень просто, и это делается для нас автоматически. Эти возможности побуждают разработчиков чаще создавать и использовать ветки.
Давайте посмотрим, почему и вам имеет смысл делать так же.