Ответ
В Git есть несколько типов веток:
-
Основная ветка (master/main) - главная ветка проекта, содержит стабильный код. Обычно используется для релизов.
-
Функциональные ветки (feature branches) - создаются для разработки новых функций. Название обычно начинается с
feature/. -
Ветки релизов (release branches) - используются для подготовки к выпуску версии. Название в формате
release/v1.0. -
Хотфиксы (hotfix branches) - для срочных исправлений в production. Начинаются с
hotfix/. -
Ветки разработки (develop) - промежуточная ветка между feature-ветками и main.
Пример создания ветки:
git checkout -b feature/new-auth-system
Основные команды работы с ветками:
git branch- список ветокgit checkout- переключение между веткамиgit merge- слияние ветокgit branch -d- удаление ветки
Ответ 18+ 🔞
А, ну это про гит-ветки, да? Ну, слушай, тут всё просто, как три копейки, но если не разобраться — можно такую кашу заварить, что потом полгода расхлёбывать, блядь.
В общем, представь, что твой проект — это ёбанный многоэтажный дом. И ветки — это как разные квартиры, где каждый делает свою хуйню.
1. Главная квартира (master/main) — это типа пентхаус, где всё идеально, ковры чистые, код стабильный. Туда пускают только проверенных гостей, когда всё готово и протестировано. Это для релизов, чтобы клиентам показывать.
2. Квартиры для ремонта (feature branches) — вот тут-то и начинается веселье. Хочешь новую фичу добавить — типа "авторизацию через глазное яблоко"? Отлично, съёбывай в свою отдельную каморку и там твори, не мешая другим. Называть принято feature/название-фичи. Пока не сделаешь — на порог главной квартиры не показывайся.
3. Квартира для уборки перед приездом тёщи (release branches) — вот всё вроде готово, но надо последние штрихи навести, баги пофиксить, версию подписать. Создаёшь ветку release/v1.0 и там уже не добавляешь новую хуйню, а только полируешь то, что есть.
4. Аварийная служба (hotfix branches) — это когда в продакшене, в этом самом пентхаусе, уже у клиентов, вдруг трубу прорвало! Надо срочно, прям щас, ебашить! Создаёшь ветку hotfix/, быстренько латаешь дыру и — опа! — сразу в мастер. Без очереди, сука.
5. Общая кухня (develop) — а это, типа, промежуточный пункт. Все фичи из своих каморок сначала несут сюда, на общую кухню, смотрят — а не поломают ли они друг другу ебала? Здесь всё смешивается, тестируется, а уж потом, как единый красивый пирог, отправляется в релизную ветку, а потом и в мастер.
Ну, и как это практически делается? Очень просто, ёпта!
git checkout -b feature/new-auth-system
Вот этой одной строчкой ты, во-первых, создаёшь новую ветку с именем feature/new-auth-system, а во-вторых, сразу в неё перепрыгиваешь. Всё, ты теперь в своей личной песочнице. Делай что хочешь.
Основные палочки-выручалочки, чтобы не заблудиться в этом лесу:
git branch— это чтоб посмотреть, сколько у тебя этих квартир-веток накопилось, и в какой ты сейчас находишься (звёздочкой помечена).git checkout имя_ветки— телепорт в другую квартиру. Хочешь из фичи перескочить в мастер — пожалуйста.git merge ветка— это когда ты решил, что твоя фича готова, и её пора "влить" обратно, например, в develop. Говоришь "эй, develop, забери к себе все мои изменения из feature/new-auth-system!".git branch -d имя_ветки— а это когда всё уже смержилось и работает, а ветка больше не нужна. Подходишь и — хоба! — удаляешь старую квартиру, чтоб место не занимала. Мусор надо выносить, блядь.
Вот и вся магия. Главное — не путать, где ты сейчас, и не мержить всякую хуйню не туда, куда нужно. А то будет тебе не код, а ебаный цирк с конями.