Пояснення гілки Git: Як видалити, замовити, створити та перейменувати гілку в Git

Гіт-гілка

Функціональність розгалуження Git дозволяє створювати нові гілки проекту для тестування ідей, виділення нових функцій або експериментів, не впливаючи на основний проект.

Зміст

  • Переглянути філії
  • Оформити філію
  • Створити нову гілку
  • Перейменуйте філію
  • Видалити гілку
  • Порівняйте гілки
  • Довідка з Git Branch
  • Більше інформації

Переглянути філії

Щоб переглянути гілки у сховищі Git, запустіть команду:

git branch

Щоб переглянути гілки віддаленого відстеження та локальні гілки, запустіть команду:

git branch -a

Поруч із гілкою, на якій ви перебуваєте, буде зірочка (*).

Існує ряд різних опцій, які ви можете включити, git branchщоб побачити різну інформацію. Щоб отримати докладнішу інформацію про гілки, ви можете скористатися опцією -v(або -vv, або --verbose). Список гілок включатиме значення SHA-1 та рядок теми для HEADкожної гілки поруч із її назвою.

Ви можете використовувати параметр -a(або --all), щоб показати локальні гілки, а також будь-які віддалені гілки для сховища. Якщо ви хочете побачити лише віддалені гілки, використовуйте параметр -r(або --remotes).

Оформити філію

Щоб перевірити існуючу гілку, виконайте команду:

git checkout BRANCH-NAME

Як правило, Git не дозволяє вам перевіряти іншу гілку, якщо ваш робочий каталог не є чистим, оскільки ви втратите будь-які зміни в робочому каталозі, які не були скоєні. У вас є три варіанти обробки змін:

  1. видалити їх у кошик (докладніше див. Git checkout) або
  2. фіксувати їх (див. Git коміт для деталей) або
  3. сховати їх (докладніше див. у сховищі Git).

Створити нову гілку

Щоб створити нову гілку, виконайте команду:

git branch NEW-BRANCH-NAME

Зверніть увагу, що ця команда створює лише нову гілку. Вам потрібно буде бігти, git checkout NEW-BRANCH-NAMEщоб перейти на нього.

Існує ярлик для створення та перевірки нової гілки відразу. Ви можете передати -bопцію (для гілки) за допомогою git checkout. Наступні команди роблять те саме:

# Two-step method git branch NEW-BRANCH-NAME git checkout NEW-BRANCH-NAME # Shortcut git checkout -b NEW-BRANCH-NAME

Коли ви створюєте нову гілку, вона буде включати всі коміти з батьківської гілки. Батьківська гілка - це гілка, на якій ви знаходитесь під час створення нової гілки.

Перейменуйте філію

Щоб перейменувати гілку, виконайте команду:

git branch -m OLD-BRANCH-NAME NEW-BRANCH-NAME # Alternative git branch --move OLD-BRANCH-NAME NEW-BRANCH-NAME

Видалити гілку

Git не дозволить вам видалити гілку, на якій ви перебуваєте. Спочатку потрібно перевірити іншу гілку, а потім виконати команду:

git branch -d BRANCH-TO-DELETE # Alternative: git branch --delete BRANCH-TO-DELETE

Гілка, до якої ви переходите, має значення. Git видасть помилку, якщо зміни у гілці, яку ви намагаєтесь видалити, не повністю об'єднані в поточну гілку. Ви можете змінити це і змусити Git видалити гілку з -Dопцією (зверніть увагу на велику літеру) або використовуючи --forceопцію з -dабо --delete:

git branch -D BRANCH-TO-DELETE # Alternatives git branch -d --force BRANCH-TO-DELETE git branch --delete --force BRANCH-TO-DELETE

Порівняйте гілки

Ви можете порівняти гілки з git diffкомандою:

git diff FIRST-BRANCH..SECOND-BRANCH

Ви побачите кольорові результати для змін між гілками. Для всіх рядків, які змінилися, SECOND-BRANCHверсія буде зеленим рядком, що починається з "+", а FIRST-BRANCHверсія буде червоною, починаючи з "-". Якщо ви не хочете, щоб Git відображав два рядки для кожної зміни, ви можете скористатися --color-wordsопцією. Натомість Git покаже один рядок із видаленим текстом червоним кольором, а доданий - зеленим.

Якщо ви хочете побачити список усіх гілок, які повністю об'єднані у вашу поточну гілку (іншими словами, ваша поточна гілка включає всі зміни інших гілок, які перелічені), запустіть команду git branch --merged.

Довідка з Git Branch

Якщо ви забули, як використовувати опцію, або хочете вивчити інші функції навколо git branchкоманди, ви можете запустити будь-яку з цих команд:

git help branch git branch --help man git-branch

Більше інформації:

  • git mergeкоманда
  • git checkoutкоманда
  • git commitкоманда
  • git stashкоманда
  • Документація Git: гілка