Пояснення Git Checkout: Як оформити, змінити або змінити гілку в Git

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

Оформлення певного коміту

щоб перевірити певний коміт, запустіть команду:

git checkout specific-commit-id

ми можемо отримати конкретні ідентифікатори комітів, запустивши:

git log

Оформити замовлення в існуючому відділенні

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

git checkout BRANCH-NAME

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

Оформити нову філію

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

git checkout -b NEW-BRANCH-NAME

Це автоматично переключиться на нову гілку.

Оформити нову гілку або скинути гілку до початкової точки

Наступна команда подібна до перевірки нової гілки, але використовує -Bпрапор (зверніть увагу на заголовок В) та необов’язковий START-POINTпараметр:

git checkout -B BRANCH-NAME START-POINT

Якщо BRANCH-NAMEгілка не існує, Git створить її та почне з START-POINT. Якщо BRANCH-NAMEгілка вже існує, тоді Git скидає гілку до START-POINT. Це еквівалентно запуску git branchз -f.

Примусово оформляйте замовлення

Ви можете передати команду -fабо --forceз git checkoutкомандою, щоб змусити Git переключати гілки, навіть якщо у вас є нестадійні зміни (іншими словами, індекс робочого дерева відрізняється від HEAD). В основному, його можна використати, щоб відкинути локальні зміни.

Коли ви виконуєте таку команду, Git буде ігнорувати незлиті записи:

git checkout -f BRANCH-NAME # Alternative git checkout --force BRANCH-NAME

Скасувати зміни у своєму робочому каталозі

За допомогою git checkoutкоманди можна скасувати зміни, внесені до файлу у вашому робочому каталозі. Це поверне файл назад до версії у HEAD:

git checkout -- FILE-NAME