Ответ
Ветка (branch) в Git — это легковесный подвижный указатель на один из коммитов в истории проекта. По сути, это изолированная линия разработки.
Основное назначение веток — позволить разработчикам работать над новыми функциями, исправлять ошибки или экспериментировать с кодом, не затрагивая стабильную версию в основной ветке (обычно main или master).
Ключевые команды для работы с ветками:
# Посмотреть все локальные ветки (текущая будет отмечена *)
git branch
# Создать новую ветку с именем 'feature/user-auth'
git branch feature/user-auth
# Переключиться на созданную ветку
git checkout feature/user-auth
# Создать ветку и сразу переключиться на нее (самый частый способ)
git checkout -b feature/user-auth
# Влить изменения из ветки 'feature/user-auth' в текущую (например, в 'main')
git merge feature/user-auth
# Удалить ветку после слияния
git branch -d feature/user-auth
Специальный указатель HEAD всегда ссылается на коммит, на котором вы находитесь в данный момент, то есть на вершину текущей активной ветки.
Ответ 18+ 🔞
А, ну это же про ветки в Гите! Слушай, это вообще одна из тех вещей, от которой мозг вскипает у новичков, а потом оказывается, что всё проще пареной репы, просто надо понять одну хуйню.
Представь себе, что твой проект — это дерево, а коммиты — это сучья на нём. Так вот, ветка (branch) — это просто бумажка с названием, привязанная к одному из этих сучьев. Лёгкая, подвижная, ебучая бумажка-указатель. Всё. Никакой магии. Она просто говорит: «Вот тут, на этом сучке, у нас сейчас активная линия разработки под названием «попытка-не-сломать-всё».
Зачем это, спросишь? А чтобы не наступать всем в одну кучу, как мухи в сметану! Допустим, у тебя в main всё стабильно, работает, клиенты не орут. А тебе надо запилить новую фичу, которая с вероятностью 99% всё разъебёт. Ты что, будешь это делать прямо в main? Да ты псих! Ты создаёшь новую ветку — свою песочницу, свой личный полигон для ебли мозга. Там ты можешь творить любую хуйню, коммитить полный пиздец, а main будет спать спокойно, как младенец.
Основные команды, без которых ты как без рук:
# Глянуть, какие ветки у тебя уже валяются (звёздочкой отмечена та, на которой ты сейчас сидишь)
git branch
# Создать новую ветку с каким-нибудь умным названием, типа 'feature/авторизация-через-телепатию'
git branch feature/user-auth
# Перепрыгнуть на эту новую ветку (это называется «переключиться»)
git checkout feature/user-auth
# А можно сразу два в одном: создать ветку И перепрыгнуть на неё. Так все и делают, ленивые жопы.
git checkout -b feature/user-auth
# Когда ты в своей ветке всё допилил и протестировал (ха-ха), надо слить изменения обратно в main
# Сначала переключись на main, а потом...
git merge feature/user-auth
# После удачного слияния ветку можно смело выкидывать, чтобы не засорять список
git branch -d feature/user-auth
И ещё есть такая штука — HEAD. Это не голова, хотя иногда от Гита именно так и хочется кричать. Это просто указатель на тот коммит, на котором ты в данный момент стоишь. Если ты на ветке feature/user-auth, то HEAD смотрит на последний коммит в этой ветке. Он как будто говорит: «Эй, все, смотрите сюда, тут сейчас происходит самое интересное!».
Вот и вся философия. Создал ветку, натворил дел, смерджил, удалил. Красота, блядь! Главное — не забывать, на какой ветке ты находишься, а то будешь коммитить не туда и потом охуевать, куда всё делось. Проверено на личном, ебучем, опыте.