українська мова ▾
Localized versions of git-branch manual
  1. English
  2. Français
  3. Português (Brasil)
  4. Русский
  5. українська мова
  6. 简体中文
Topics ▾ Latest version ▾ git-branch last updated in 2.51.0
Changes in the git-branch manual
  1. 2.51.1 → 2.52.0 no changes
  2. 2.51.0 2025年08月18日
  3. 2.50.1 no changes
  4. 2.50.0 2025年06月16日
  5. 2.44.1 → 2.49.1 no changes
  6. 2.44.0 2024年02月23日
  7. 2.43.1 → 2.43.7 no changes
  8. 2.43.0 2023年11月20日
  9. 2.41.1 → 2.42.4 no changes
  10. 2.41.0 2023年06月01日
  11. 2.40.1 → 2.40.4 no changes
  12. 2.40.0 2023年03月12日
  13. 2.39.4 → 2.39.5 no changes
  14. 2.39.3 2023年04月17日
  15. 2.38.1 → 2.39.2 no changes
  16. 2.38.0 2022年10月02日
  17. 2.37.1 → 2.37.7 no changes
  18. 2.37.0 2022年06月27日
  19. 2.36.1 → 2.36.6 no changes
  20. 2.36.0 2022年04月18日
  21. 2.35.1 → 2.35.8 no changes
  22. 2.35.0 2022年01月24日
  23. 2.34.1 → 2.34.8 no changes
  24. 2.34.0 2021年11月15日
  25. 2.33.2 → 2.33.8 no changes
  26. 2.33.1 2021年10月12日
  27. 2.31.1 → 2.33.0 no changes
  28. 2.31.0 2021年03月15日
  29. 2.30.1 → 2.30.9 no changes
  30. 2.30.0 2020年12月27日
  31. 2.29.1 → 2.29.3 no changes
  32. 2.29.0 2020年10月19日
  33. 2.28.1 no changes
  34. 2.28.0 2020年07月27日
  35. 2.23.1 → 2.27.1 no changes
  36. 2.23.0 2019年08月16日
  37. 2.22.2 → 2.22.5 no changes
  38. 2.22.1 2019年08月11日
  39. 2.22.0 2019年06月07日
  40. 2.21.1 → 2.21.4 no changes
  41. 2.21.0 2019年02月24日
  42. 2.20.1 → 2.20.5 no changes
  43. 2.20.0 2018年12月09日
  44. 2.19.1 → 2.19.6 no changes
  45. 2.19.0 2018年09月10日
  46. 2.18.1 → 2.18.5 no changes
  47. 2.18.0 2018年06月21日
  48. 2.17.0 → 2.17.6 no changes
  49. 2.16.6 2019年12月06日
  50. 2.15.4 2019年12月06日
  51. 2.14.6 2019年12月06日
  52. 2.13.7 2018年05月22日
  53. 2.12.5 2017年09月22日
  54. 2.10.5 → 2.11.4 no changes
  55. 2.9.5 2017年07月30日
  56. 2.8.6 no changes
  57. 2.7.6 2017年07月30日
  58. 2.6.7 2017年05月05日
  59. 2.5.6 no changes
  60. 2.4.12 2017年05月05日
  61. 2.1.4 → 2.3.10 no changes
  62. 2.0.5 2014年12月17日

Check your version of git by running

git --version

НАЗВА

git-branch - Список, створення або видалення гілок

СИНОПСИС

git branch [--color[=<when>] | --no-color] [--show-current]
	 [-v [--abbrev=<n> | --no-abbrev]]
	 [--column[=<options>] | --no-column] [--sort=<key>]
	 [--merged [<commit>]] [--no-merged [<commit>]]
	 [--contains [<commit>]] [--no-contains [<commit>]]
	 [--points-at <object>] [--format=<format>]
	 [(-r|--remotes) | (-a|--all)]
	 [--list] [<pattern>…​]
git branch [--track[=(direct|inherit)] | --no-track] [-f]
	 [--recurse-submodules] <branch-name> [<start-point>]
git branch (--set-upstream-to=<upstream>|-u <upstream>) [<branch-name>]
git branch --unset-upstream [<branch-name>]
git branch (-m|-M) [<old-branch>] <new-branch>
git branch (-c|-C) [<old-branch>] <new-branch>
git branch (-d|-D) [-r] <branch-name>…​
git branch --edit-description [<branch-name>]

ОПИС

Якщо вказано --list, або якщо немає аргументів, що не є опціями, буде перераховано існуючі гілки; поточна гілка буде виділена зеленим кольором та позначена зірочкою. Будь-які гілки, витягнуті у зв’язаних робочих деревах, будуть виділені блакитним кольором та позначені знаком плюс. Опція -r призведе до відображення списку гілок віддаленого відстеження, а опція -a покаже як локальні, так і віддалені гілки.

Якщо задано <шаблон>, він використовується як шаблон оболонки для обмеження виводу до відповідних гілок. Якщо задано кілька шаблонів, гілка відображається, якщо вона відповідає будь-якому з шаблонів.

Зверніть увагу, що під час надання <шаблон> необхідно використовувати --list; інакше команда може бути інтерпретована як створення гілки.

З параметром --contains відображаються лише гілки, що містять іменований коміт (іншими словами, гілки, кінчики комітів яких є нащадками іменованого коміту), --no-contains інвертує його. З параметром --merged будуть перелічені лише гілки, об’єднані з іменованим комітом (тобто гілки, кінчики комітів яких доступні з іменованого коміту). З параметром --no-merged будуть перелічені лише гілки, не об’єднані з іменованим комітом. Якщо аргумент <commit> відсутній, він за замовчуванням має значення HEAD (тобто кінчик поточної гілки).

Друга форма команди створює новий заголовок гілки з назвою <назва-гілки>, який вказує на поточну HEAD, або <початкову-точку>, якщо задано. Як окремий випадок, для <початкової-точки>, ви можете використовувати <rev-A>...<rev-B> як скорочення для бази злиття <rev-A> та <rev-B>, якщо існує лише одна база злиття. Ви можете пропустити щонайбільше один з <rev-A> та <rev-B>, і в цьому випадку за замовчуванням використовується HEAD.

Зверніть увагу, що це створить нову гілку, але не переключить на неї робоче дерево; використовуйте git switch <new-branch> для перемикання на нову гілку.

Коли локальна гілка запускається з гілки віддаленого відстеження, Git налаштовує гілку (зокрема, записи конфігурації branch.<name>.remote та branch.<name>.merge) таким чином, щоб git pull належним чином зливався з гілкою віддаленого відстеження. Цю поведінку можна змінити за допомогою глобального прапорця конфігурації branch.autoSetupMerge. Цей параметр можна перевизначити за допомогою опцій --track та --no-track, а пізніше змінити за допомогою git branch --set-upstream-to.

З опцією -m або -M, <old-branch> буде перейменовано на <new-branch>. Якщо <old-branch> мала відповідний reflog, вона перейменовується відповідно до <new-branch>, і створюється запис reflog для запам’ятовування перейменування гілки. Якщо <new-branch> існує, для примусового перейменування необхідно використовувати -M.

Опції -c та -C мають точно таку ж семантику, як -m та -M, за винятком того, що замість перейменування гілки вона буде скопійована під новою назвою разом з її конфігурацією та рефлогом.

З опцією -d або -D, <назва-гілки> буде видалено. Ви можете вказати більше однієї гілки для видалення. Якщо гілка наразі має журнал перепису, то журнал перепису також буде видалено.

Використовуйте -r разом з -d для видалення гілок віддаленого відстеження. Зверніть увагу, що видаляти гілки віддаленого відстеження має сенс лише тоді, коли вони більше не існують у віддаленому репозиторії або якщо git fetch було налаштовано не отримувати їх знову. Дивіться також підкоманду prune команди git-remote[1], щоб дізнатися, як очистити всі застарілі гілки віддаленого відстеження.

ОПЦІЇ

-d
--delete

Видалити гілку. Гілку необхідно повністю об’єднати з її гілкою upstream або з HEAD, якщо upstream не було встановлено за допомогою --track або --set-upstream-to.

-D

Скорочення для --delete --force.

--create-reflog

Створити журнал записів гілки. Це активує запис усіх змін, внесених до посилання гілки, що дозволяє використовувати sha1-вирази на основі дати, такі як <назва-гілки>@{yesterday}. Зверніть увагу, що в нечистих репозиторіях журнали записів зазвичай увімкнено за замовчуванням параметром конфігурації core.logAllRefUpdates. Заперечувана форма --no-create-reflog лише перевизначає попереднє --create-reflog, але наразі не скасовує налаштування core.logAllRefUpdates.

-f
--force

Скинути <назва-гілки> до <початкова-точка>, навіть якщо <назва-гілки> вже існує. Без -f, git branch відмовляється змінювати існуючу гілку. У поєднанні з -d (або --delete) дозволяє видалення гілки незалежно від її статусу об’єднання, або від того, чи вказує вона на дійсний коміт. У поєднанні з -m (або --move) дозволяє перейменування гілки, навіть якщо нова назва гілки вже існує, те саме стосується -c (або --copy).

Зверніть увагу, що git branch -f <назва-гілки> [<початкова-точка>], навіть з -f, відмовляється змінювати існуючу гілку <назва-гілки>, яка витягнута з іншого робочого дерева, пов’язаного з тим самим репозиторієм.

-m
--move

Перемістити/перейменувати гілку разом з її конфігурацією та перефлогом.

-M

Скорочення для --move --force.

-c
--copy

Скопіюйте гілку разом з її конфігурацією та рефлогом.

-C

Скорочення для --copy --force.

--color[=<when>]

Виділіть поточні, локальні та віддалено відстежувані гілки кольором. Значення має бути always (за замовчуванням), never або auto.

--no-color

Вимкнути кольори гілок, навіть якщо у файлі конфігурації задано кольоровий вивід за замовчуванням. Те саме, що й --color=never.

-i
--ignore-case

Сортування та фільтрація гілок не враховують регістр.

--omit-empty

Не друкуйте новий рядок після відформатованих посилань, де формат розгортається до порожнього рядка.

--column[=<опція>]
--no-column

Відображати список гілок у стовпцях. Синтаксис опцій дивіться у змінній конфігурації column.branch. --column та --no-column без опцій еквівалентні always та never відповідно.

Цей параметр застосовується лише в недетальному режимі.

--sort=<ключ>

Сортування на основі <ключ>. Додайте префікс - для сортування у порядку спадання значення. Ви можете використовувати опцію --sort=<ключ> кілька разів, і в цьому випадку останній ключ стає первинним ключем. Підтримувані ключі такі ж, як у git-for-each-ref[1]. Порядок сортування за замовчуванням встановлюється на значення, налаштоване для змінної branch.sort, якщо вона існує, або на основі повного імені посилання (включаючи префікс refs/...). Спочатку відображаються відокремлені HEAD (якщо є), потім локальні гілки і, нарешті, гілки з віддаленим відстеженням. Див. git-config[1].

-r
--remotes

Перерахувати або видалити (якщо використовується з -d) гілки віддаленого відстеження. Поєднайте з --list для відповідності необов’язковим шаблонам.

-a
--all

Перелічіть як гілки віддаленого відстеження, так і локальні гілки. Поєднуйте з --list для відповідності необов’язковим шаблонам.

-l
--list

Список гілок. З необов’язковим параметром <шаблон>..., наприклад, git branch --list maint-*', список лише тих гілок, що відповідають шаблону(ам).

--show-current

Вивести назву поточної гілки. У відокремленому стані HEAD нічого не виводиться.

-v
-vv
--verbose

У режимі списку, виведіть sha1 та рядок теми коміта для кожного head, разом із зв’язком з гілкою вище за тегом (якщо така є). Якщо вказано двічі, виведіть шлях до пов’язаного робочого дерева (якщо таке є) та назву гілки вище за тегом (див. також git remote show <remote>). Зверніть увагу, що шлях до HEAD поточного робочого дерева не буде виведено (це завжди буде ваш поточний каталог).

-q
--quiet

Бути тихішим під час створення або видалення гілки, пригнічуючи повідомлення, що не пов’язані з помилками.

--abbrev=<n>

У детальному списку, що показує назву об’єкта коміту, покажіть найкоротший префікс довжиною щонайменше <n> шістнадцяткових цифр, який унікально посилається на об’єкт. Значення за замовчуванням — 7, його можна змінити за допомогою опції конфігурації core.abbrev.

--no-abbrev

Відображати повні sha1 у вихідному списку, а не скорочувати їх.

-t
--track[=(direct|inherit)]

Під час створення нової гілки налаштуйте записи конфігурації branch.<name>.remote та branch.<name>.merge, щоб встановити конфігурацію відстеження "upstream" для нової гілки. Ця конфігурація вкаже git відображати зв’язок між двома гілками в git status та git branch -v. Крім того, вона направляє git pull без аргументів на витягування з upstream, коли нова гілка буде виведена.

Точна гілка початкової точки вибирається залежно від необов’язкового аргументу: -t, --track або --track=direct означає використовувати саму гілку початкової точки як гілку початкової точки; --track=inherit означає копіювати конфігурацію гілки початкової точки початкової точки.

Змінна конфігурації branch.autoSetupMerge визначає, як повинні поводитися git switch, git checkout та git branch, коли не вказано ні --track, ні --no-track:

Параметр за замовчуванням, true, поводиться так, ніби --track=direct було задано щоразу, коли початкова точка є гілкою віддаленого відстеження. false поводиться так, ніби --no-track. always поводиться так, ніби --track=direct. inherit поводиться так, ніби --track=inherit. simple поводиться так, ніби --track=direct було задано лише тоді, коли <початкова точка> є гілкою віддаленого відстеження, а нова гілка має таку ж назву, як і віддалена гілка.

Дивіться git-pull[1] та git-config[1] для додаткового обговорення використання опцій branch.<name>.remote та branch.<name>.merge.

--no-track

Не налаштовуйте конфігурацію "upstream", навіть якщо встановлено змінну конфігурації branch.autoSetupMerge.

--recurse-submodules

ЦЕЙ ОПЦІЯ ЕКСПЕРИМЕНТАЛЬНА! Змушує поточну команду рекурсивно перетворюватися на підмодулі, якщо увімкнено submodule.propagateBranches. Див. submodule.propagateBranches у git-config[1]. Наразі підтримується лише створення гілок.

При використанні у створенні гілки, нова гілка <назва-гілки> буде створена в суперпроекті та всіх підмодулях у <початковій-точці> суперпроекту. У підмодулях гілка вказуватиме на коміт підмодуля в <початковій-точці> суперпроекту, але інформація про відстеження гілки буде налаштована на основі гілок та віддалених гілок підмодуля, наприклад, git branch --recurse-submodules topic origin/main створить гілку підмодуля "topic", яка вказує на коміт підмодуля в "origin/main" суперпроекту, але відстежує "origin/main" підмодуля.

--set-upstream

Оскільки цей параметр мав заплутаний синтаксис, він більше не підтримується. Будь ласка, використовуйте замість нього --track або --set-upstream-to.

-u <вище за течією>
--set-upstream-to=<вище за течією>

Налаштуйте інформацію відстеження <назва-гілки> таким чином, щоб <вищепотокова> вважалася гілкою вищого рівня <назва-гілки>. Якщо <назва-гілки> не вказано, то за замовчуванням використовується поточна гілка.

--unset-upstream

Видалити інформацію про початковий рівень для <назва-гілки>. Якщо гілка не вказана, за замовчуванням використовується поточна гілка.

--edit-description

Відкрийте редактор і відредагуйте текст, щоб пояснити, для чого призначена гілка, щоб її використовували різні інші команди (наприклад, format-patch, request-pull та merge (якщо увімкнено)). Можна використовувати багаторядкові пояснення.

--contains [<коміт>]

Перераховувати лише гілки, що містять <commit> (HEAD, якщо не вказано). Має на увазі --list.

--no-contains [<коміт>]

Перелічувати лише гілки, що не містять <commit> (HEAD, якщо не вказано). Має на увазі --list.

--merged [<коміт>]

Перелічувати лише гілки, підказки яких доступні з <commit> (HEAD, якщо не вказано). Має на увазі --list.

--no-merged [<коміт>]

Перелічувати лише гілки, поради яких недоступні з <commit> (HEAD, якщо не вказано). Має на увазі --list.

--points-at <об'єкт>

Перелічувати лише гілки <об’єкта>.

--format <формат>

Рядок, який інтерполює %(ім'я поля) з посилання на гілку, що відображається, та об’єкта, на який воно вказує. <формат> такий самий, як і у git-for-each-ref[1].

<назва-гілки>

Назва гілки для створення або видалення. Нова назва гілки має пройти всі перевірки, визначені в git-check-ref-format[1]. Деякі з цих перевірок можуть обмежувати кількість символів, дозволених у назві гілки.

<start-point>

Новий заголовок гілки вказуватиме на цей коміт. Його можна вказати як назву гілки, ідентифікатор коміту або тег. Якщо цей параметр пропущено, замість нього буде використано поточний HEAD.

<стара гілка>

Назва існуючої гілки. Якщо цей параметр пропущено, замість нього буде використано назву поточної гілки.

<нова гілка>

Нова назва існуючої гілки. Застосовуються ті ж обмеження, що й для <назва-гілки>.

КОНФІГУРАЦІЯ

pager.branch враховується лише під час перерахування гілок, тобто коли використовується або мається на увазі --list. За замовчуванням використовується пейджер. Див. git-config[1].

Все, що знаходиться вище цього рядка в цьому розділі, не включено до документації git-config[1]. Наступний вміст такий самий, як і той, що знаходиться там:

Warning

Missing uk/config/branch.adoc

See original version for this content.

ПРИКЛАДИ

Почати розробку з відомого тегу
$ git clone git://git.kernel.org/pub/scm/.../linux-2.6 my2.6
$ cd my2.6
$ git branch my2.6.14 v2.6.14 (1)
$ git switch my2.6.14
  1. Цей крок та наступний можна об’єднати в один за допомогою "checkout -b my2.6.14 v2.6.14".

Видалити непотрібну гілку
$ git clone git://git.kernel.org/.../git.git my.git
$ cd my.git
$ git branch -d -r origin/todo origin/html origin/man (1)
$ git branch -D test (2)
  1. Видаліть гілки віддаленого відстеження "todo", "html" та "man". Наступні команди git fetch або git pull знову їх створить, якщо ви не налаштуєте їх інакше. Див. git-fetch[1].

  2. Видалити гілку "test", навіть якщо гілка "master" (або будь-яка гілка, що наразі вивантажена) не містить усіх комітів з гілки test.

Перелік гілок з певного віддаленого сервера
$ git branch -r -l '<remote>/<pattern>' (1)
$ git for-each-ref 'refs/remotes/<remote>/<pattern>' (2)
  1. Використання -a призведе до об’єднання <remote> з будь-якими локальними гілками, до яких випадково додано префікс з тим самим шаблоном <remote>.

  2. for-each-ref може приймати широкий спектр опцій. Див. git-for-each-ref[1]

Зазвичай шаблони потребують цитування.

НОТАТКИ

Якщо ви створюєте гілку, на яку хочете негайно перейти, простіше використовувати команду git switch з її опцією -c, щоб зробити те саме за допомогою однієї команди.

Опції --contains, --no-contains, --merged та --no-merged виконують чотири пов’язані, але різні функції:

  • --contains <commit> використовується для пошуку всіх гілок, яким потрібно буде приділити особливу увагу, якщо <commit> буде перебазовано або змінено, оскільки ці гілки містять вказаний <commit>.

  • --no-contains <commit> є інверсією цього, тобто гілки, які не містять зазначеного <commit>.

  • --merged використовується для пошуку всіх гілок, які можна безпечно видалити, оскільки ці гілки повністю містяться в HEAD.

  • --no-merged використовується для пошуку гілок, які є кандидатами для об’єднання з HEAD, оскільки ці гілки не повністю містяться в HEAD.

Під час поєднання кількох фільтрів --contains та --no-contains відображаються лише посилання, які містять принаймні один з комітів --contains та не містять жодного з комітів --no-contains.

Під час об’єднання кількох фільтрів --merged та --no-merged відображаються лише посилання, досяжні принаймні з одного з комітів --merged та з жодного з комітів --no-merged.

ДИВ. ТАКОЖ

GIT

Частина набору git[1]

AltStyle によって変換されたページ (->オリジナル) /