Перейти до вмісту

Git-гілки

Керуйте локальними та віддаленими гілками без виходу з VS Code. Панель Git-гілок у сайдбарі SnakeFlow показує всі гілки, дозволяє переключати контекст одним кліком та очищати зайві гілки.

Можливості

  • Усі локальні гілки, відсортовані за датою останнього коміту
  • Checkout одним кліком — без термінала
  • Видалення — одна або кілька гілок одночасно
  • Захищені гілки — подвійне підтвердження перед видаленням
  • Open on GitHub — відкриває compare view для гілки на GitHub

Як відкрити

Панель Git-гілок знаходиться в сайдбарі SnakeFlow. Натисніть іконку гілки, щоб розгорнути панель. Гілки відображаються у зворотному хронологічному порядку (спочатку нещодавно змінені), тому активні feature-гілки завжди зверху.

Перемикання гілок

Клікніть назву гілки — SnakeFlow виконає git checkout <branch> у фоні і оновить статус-бар. Перемикання відбувається миттєво, без додаткових підтверджень.

Якщо є незбережені зміни — Git відхилить checkout (так само, як у терміналі). SnakeFlow покаже повідомлення про помилку.

Видалення гілок

Клік правою кнопкою на гілці відкриває меню з опцією видалення. Можна виділити кілька гілок і видалити їх разом — зручно для очищення змержених feature-гілок.

Захищені гілки (main, master, develop, staging, production за замовчуванням) показують діалог підтвердження перед видаленням.

Налаштування

"devManager.git.defaultBranch": "main",
"devManager.git.protectedBranches": ["main", "master", "develop", "staging", "production"]

protectedBranches — гілки з цього списку потребують підтвердження перед видаленням. Налаштуйте список під модель гілок вашого проєкту.

Операції з remote (pull / push / merge)

SnakeFlow не дублює pull, push, merge та sync from upstream — користуйтеся тим, що вже вбудовано в редактор:

  • Панель Source Control (Ctrl+Shift+G) — Pull, Push, Sync і Merge Branch у меню ···.
  • Термінал — звичайні git pull / git push / git merge з повним контролем над прапорцями та вирішенням конфліктів.

SnakeFlow бере на себе те, чого редактор не покриває: список гілок з checkout/видаленням, індикатор розбіжності та compare view на GitHub.

Status Bar

Елемент статус-бару гілки лише інформаційний — він показує стан, але не виконує Git-операцій. Формат компактний:

  • $(git-branch) main — на дефолтній гілці, синхронізовано з origin/main
  • $(git-branch) feature/x ↑2 — 2 коміти попереду дефолтної гілки
  • $(git-branch) main ↓3 — 3 коміти позаду origin/main (жовтий колір попередження)
  • $(git-branch) feature/x ↑1 ↓4 — розбіжність з origin/main в обох напрямках

Для feature-гілок порівняння відбувається відносно origin/<default> (наприклад, origin/main), а не відносно власного upstream — тобто індикатор відповідає на питання «наскільки main пішов уперед, відколи я відгалузився?».

Стан оновлюється кожні 3 секунди (статус) і кожні 15 секунд (fetch з remote). Також оновлюється одразу при фокусі вікна.

Для діагностики проблем увімкніть devManager.git.statusBar.debugLog — події refresh/fetch з’являться у Output Channel SnakeFlow: Git Status Bar.

Open on GitHub

Кожна гілка має дію Open on GitHub — будує URL порівняння (/compare/main...<branch>) і відкриває у браузері. Зручно для перегляду змін перед створенням pull request.

Пов’язані функції