[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-git-chto-takoe-vetvlenie-branching-v-git":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":18,"progress":19,"seo":20},1328,"chto-takoe-vetvlenie-branching-v-git",44,"git","Git","📦","Что такое ветвление (branching) в Git?","Ветвление (branching) — это механизм Git, позволяющий отклониться от основной линии разработки и работать независимо, не затрагивая основную ветку.\n\n> Аналогия из жизни: ветвление — как черновики документа. Вы копируете основной документ, вносите правки в черновик, а когда всё готово — объединяете с оригиналом. При этом оригинал остаётся нетронутым, пока вы экспериментируете.\n\n### Как работают ветки в Git\n\nВетка в Git — это просто лёгкий подвижный указатель на один из коммитов. Создание новой ветки занимает мгновение, так как это всего лишь запись 41-байтового файла (40 символов SHA-1 + перенос строки).\n\nHEAD — специальный указатель, который показывает, на какой ветке вы сейчас находитесь.\n\n```bash\n# Посмотреть все локальные ветки (* отмечает текущую)\ngit branch\n# * main\n#   feature\u002Fauth\n#   bugfix\u002Flogin-error\n\n# Посмотреть все ветки, включая удалённые\ngit branch -a\n\n# Создать новую ветку от текущего коммита\ngit branch feature\u002Fpayment\n\n# Создать ветку от конкретного коммита\ngit branch hotfix\u002Furgent a1b2c3d\n\n# Переключиться на ветку\ngit switch feature\u002Fpayment\n\n# Создать и переключиться одной командой\ngit switch -c feature\u002Fpayment\n\n# Переименовать ветку\ngit branch -m old-name new-name\n\n# Удалить ветку\ngit branch -d feature\u002Fpayment\n```\n\n### Соглашения об именовании веток\n\n| Префикс | Назначение | Пример |\n|---|---|---|\n| `feature\u002F` | Новая функциональность | `feature\u002Fuser-registration` |\n| `bugfix\u002F` | Исправление бага | `bugfix\u002Fnull-pointer-on-login` |\n| `hotfix\u002F` | Срочное исправление в production | `hotfix\u002Fsecurity-patch` |\n| `release\u002F` | Подготовка релиза | `release\u002F2.1.0` |\n| `chore\u002F` | Технические задачи | `chore\u002Fupdate-dependencies` |\n\n### Визуализация ветвления\n\n```\n          feature\u002Fauth\n              |\n    C4 --- C5 --- C6\n   \u002F\nC1 --- C2 --- C3 --- C7    main\n               \\\n                C8 --- C9   bugfix\u002Flogin\n```\n\n### Ключевые моменты\n\n- Ветка в Git — это указатель на коммит, а не копия файлов. Создание ветки моментально и не требует дополнительного дискового пространства\n- HEAD указывает на текущую ветку, а ветка — на последний коммит в ней\n- В Git переключение между ветками — быстрая операция, так как меняется только рабочая директория\n- Ветки — это основа командной разработки: каждая задача выполняется в отдельной ветке\n\n### Частые ошибки\n\n- Забывать переключиться на нужную ветку перед началом работы — коммиты попадают не туда\n- Работать долго в feature-ветке без синхронизации с main — приводит к сложным конфликтам\n- Не удалять слитые ветки — засоряет репозиторий\n- Использовать неинформативные имена веток (например, `test`, `fix`, `my-branch`)\n\n### Как используется в 2026\n\n- Автоматическое создание веток из задач в Jira\u002FYouTrack через интеграции с Git-платформами\n- Защита веток (branch protection rules) — обязательный code review и прохождение CI перед merge в main\n- Автоматическое удаление веток после merge через настройки GitHub\u002FGitLab\n- Short-lived feature branches (1-3 дня) стали стандартом в рамках Trunk-Based Development\n\n> **На собеседовании:** подчеркните, что ветка — это лёгкий указатель на коммит (41 байт), а не копия файлов. Это фундаментальное отличие Git от SVN, где создание ветки означало копирование директории. Покажите знание соглашений об именовании (feature\u002F, bugfix\u002F, hotfix\u002F).","","junior",[7,15,16,17],"основы","branching","commands",[],null,{"title":21,"description":22,"ogTitle":23,"ogDescription":24,"keywords":25,"schemaAnswer":33,"featuredSnippetReady":34},"Что такое ветвление (branching) в Git — Gymterview","Ветвление в Git: как работают ветки (указатель на коммит, 41 байт), HEAD, соглашения об именовании (feature\u002F, bugfix\u002F, hotfix\u002F), визуализация ветвления.","Ветвление в Git: ветки, HEAD, соглашения об именовании — Gymterview","Как работают ветки в Git: лёгкий указатель (41 байт), HEAD, именование (feature\u002F, bugfix\u002F). Подготовка к Java-собеседованию.",[26,16,27,28,29,30,31,32],"ветвление Git","git branch","git switch","HEAD","feature branch","именование веток","собеседование","Ветвление — механизм Git для параллельной работы без затрагивания основной ветки. Ветка — лёгкий указатель на коммит (41 байт: SHA-1 + перенос строки), создание мгновенно. HEAD указывает на текущую ветку. Соглашения: feature\u002F (функциональность), bugfix\u002F (баги), hotfix\u002F (срочные фиксы), release\u002F (подготовка релиза). Short-lived branches (1-3 дня) — стандарт в Trunk-Based Development.",true]