Ветки и HEAD
До сих пор мы работали на единственной линии истории. Но что, если вы хотите попробовать новую идею, не трогая работающий код? Здесь на сцену выходят ветки. Большой секрет: ветка — это не тяжёлая копия проекта, а всего лишь лёгкая метка, указывающая на определённый коммит, поэтому её создание мгнове
Ветка — это как метка-стикер, которую вы двигаете вдоль цепочки фотографий вашего проекта; она просто отмечает определённую фотографию. HEAD — это стрелка, которая говорит, на какой метке вы сейчас стоите.
- Ветка
- Лёгкая перемещаемая метка, которая указывает на коммит. Создание ветки — это всего лишь создание крошечного файла, хранящего хеш коммита, поэтому оно мгновенно и почти не занимает места.
- HEAD
- Специальный указатель, который говорит «вы здесь» — на какой ветке (и через неё, на каком коммите) вы сейчас стоите.
- git switch
- Перемещение между ветками. git switch -c <name> создаёт новую ветку и переводит вас на неё. (Более старая, эквивалентная команда — git checkout -b.)
- main
- Общепринятое имя основной ветки в новых репозиториях (раньше master). Это просто обычная ветка — для Git в ней нет никакой особой магии.
- git branch
- Без аргумента — перечисляет ветки, со звёздочкой (*) рядом с активной. С именем — создаёт новую ветку, не переходя на неё.