Позбавлення від чогось непотрібного — це важлива практика, яка допомагає звільнити простір для нового та спрощує підтримку того, що залишається. Сьогодні ми розглянемо різні способи видалення гілок у GitHub.
Для розробників гілки – це справжній подарунок. Якщо ви програміст, то розумієте, про що йде мова. Якщо ви вже знайомі з концепцією гілок та їх практичним застосуванням, можете пропустити наступний розділ. Якщо ж ви новачок у git або просто цікавитесь цією темою, продовжуйте читати.
Що таке гілки?
Гілка – це посилання на певну фіксацію (commit). Просте читання не завжди дає повне розуміння гілок, тому для кращого засвоєння потрібно побачити, як вони працюють на практиці.
Давайте розглянемо, як розробники застосовують гілки у своїх проектах, використовуючи деякі ілюстрації. Зверніть увагу, що кожне коло на малюнках позначає фіксацію.
Проаналізуємо робочий процес з гілками на прикладі типової ситуації.
- Уявімо, що ви працюєте у команді розробників.
- Одного дня ваш керівник підходить до вас і каже: “У нашому продукті є кілька помилок, їх потрібно виправити.”
- Ви відповідаєте: “Звичайно, без проблем.”
- Ваші фіксації git на початку можуть виглядати приблизно так.
Фіксації Git
- Чи варто працювати прямо з основної гілки?
- Звісно, ні. Працюючи безпосередньо з основною гілкою, ви можете зіткнутися з серйозними труднощами в майбутньому. Трохи пізніше ми покажемо, чому це може бути проблематично.
- Тому ви вирішуєте створити нову гілку на основі основної для виправлення помилок. На цей момент обидві гілки вказуватимуть на одну й ту ж фіксацію.
Нова гілка
- Ви починаєте працювати над виправленнями та створюєте 5 фіксацій. Отже, ваша нова гілка тепер виглядає так.
Нові фіксації
- Ваша нова гілка вказує на фіксацію C8, а основна гілка – на фіксацію C3.
- Тут стається непередбачене. Ваш керівник знову звертається до вас: “Знайшли критичну помилку, яку потрібно терміново виправити.”
- Ого! Це багато роботи.
- Ви вже працюєте над виправленням одних помилок, а тепер з’явилися інші, більш пріоритетні.
- Тому потрібно переключитися на їхнє виправлення.
- А що станеться з кодом, який ви вже написали?
- Немає проблем, адже ви створили окрему гілку для попередніх виправлень. Весь ваш напрацьований код залишиться у ній.
- Тепер ви повертаєтесь до основної гілки, створюєте ще одну нову гілку під назвою “критичне-виправлення-помилок” і починаєте роботу над новим набором виправлень.
Ще одна нова гілка
- Уявімо, що ви б не створили нову гілку для попередніх помилок. Що тоді?
- Вам довелося б видалити весь код, написаний для попередніх помилок, і почати роботу над новими. А потім вам знову довелося б писати весь код для попередніх помилок.
- Ось саме ту проблему ми й намагаємось уникнути.
- Отже, гілки дозволяють нам розробляти код ізольовано.
- Ви пишете код для виправлення нових помилок та фіксуєте його.
Нові фіксації гілок
- Ви виправили нові помилки.
- Тепер ви переходите до попередньої гілки з помилками та продовжуєте працювати над ними.
Отже, гілки допомагають вам чітко організувати роботу. Без них був би хаос. Тож, як бачимо, гілки – це справді цінний інструмент для розробників.
Перейдемо до практики і розглянемо способи видалення гілок.
Видалення гілки через Git Client
Коли ми говоримо про видалення гілки, ми маємо на увазі видалення як локально, так і віддалено. Тому не дивуйтеся, що ми будемо видаляти одну і ту саму гілку двічі. Давайте розглянемо покрокові інструкції.
- Відкрийте термінал або командний рядок і перейдіть до каталогу вашого репозиторію git.
- Перегляньте наявні гілки за допомогою команди
git branch -a
. Це покаже як локальні, так і віддалені гілки.
Гілки репозиторію
- Скопіюйте назву гілки, яку потрібно видалити. У нашому випадку це “один”.
- Перейдіть до основної, головної або будь-якої іншої гілки, яка відрізняється від гілки, що підлягає видаленню.
- Видаліть гілку локально за допомогою команди
git branch -d branchName
. ЗамінітьbranchName
на фактичну назву гілки.
Видалення локальної гілки
- Перевірте гілки за допомогою команди
git branch -a
. Ви все ще побачите видалену гілку на віддаленому репозиторії, тому що ми ще не видалили її звідти.
Список гілок
- Щоб видалити гілку на віддаленому репозиторії, виконайте команду
git push remoteName -d branchName
. ЗамінітьremoteName
таbranchName
на відповідні назви.
Видалення віддаленої гілки
- Існує скорочена команда для видалення віддаленої гілки:
git push remoteName :branchName
.
Тепер, ще раз перевірте список гілок. Ви не повинні знайти видалену гілку ні на локальному, ні на віддаленому репозиторії, якщо ви виконали всі кроки правильно.
Список гілок
Якщо ми спробуємо видалити гілку, якої не існує, отримаємо повідомлення про помилку.
Помилка видалення
Отже, ми успішно видалили гілку як локально, так і віддалено.
Існує ще один спосіб зробити це за допомогою веб-інтерфейсу GitHub.
Давайте розглянемо.
Видалення гілки через Web
Немає особливої різниці між цим та попереднім способом. Тут ми будемо використовувати веб-інтерфейс GitHub для видалення віддаленої гілки. Локальну гілку видалимо так само, як у попередньому методі.
Розглянемо процес видалення віддаленої гілки через веб-інтерфейс GitHub.
- Перейдіть на GitHub.
- Увійдіть до свого облікового запису.
- Перейдіть до репозиторію, з якого ви хочете видалити гілку.
Репозиторій
- Натисніть на кнопку “Гілки”, щоб переглянути всі гілки репозиторію.
Гілки репозиторію
- Ви побачите список гілок репозиторію.
- Також побачите значок видалення в кінці рядка з назвою гілки.
Кнопка «Видалити гілку»
- Натисніть на значок видалення, щоб видалити гілку на віддаленому репозиторії.
Видалена гілка
- Ми можемо відновити гілку, натиснувши кнопку “Відновити”. Ця кнопка буде доступною, поки ми не оновимо або не закриємо сторінку.
Кнопка відновлення
Тепер гілку видалено на віддаленому репозиторії. Перейдіть до свого локального репозиторію та видаліть гілку за допомогою команди, яку ми розглядали у першому методі.
Тепер виконайте команду git branch -a
, щоб перевірити усі гілки.
Список гілок
Ми все ще бачимо видалену віддалену гілку у списку. Що це означає? Як це виправити? Подивіться на сценарій нижче, де ви можете зіткнутися з подібною ситуацією на роботі.
Припустимо, ви працюєте у команді. Ваш керівник видалив віддалену гілку після завершення певного завдання. Як ви про це дізнаєтесь? Чи є спосіб виявити віддалені гілки, які були видалені?
Нам потрібно синхронізувати локальні та віддалені репозиторії щодо видалених гілок. Для цього є спеціальні команди:
git remote prune remoteName
git fetch -p remoteName
-p
– це скорочення для команди prune
у другій команді. Параметр prune
в обох командах видаляє посилання на віддалені гілки.
prune
Тепер виконайте команду git branch -a
для перевірки списку гілок.
Список гілок
Ви побачите, що віддалена гілка більше не відображається у списку. Проте, локальна гілка все ще присутня. І це нормально. Ви можете її зберегти або видалити.
Тож, перевірте гілки, які відсутні на віддаленому репозиторії, але присутні на локальному. Видаліть локальні гілки, які були видалені віддалено.
Тепер ваші гілки чисті. Готово!
Висновок
У більшості випадків для операцій git ми будемо використовувати термінал або командний рядок. Це зручно. Але це не обов’язково. Зрештою, це справа особистих вподобань.
Яким би інструментом чи методом ви не користувалися, результат буде однаковий. Оберіть той, який вам найбільш зручний, і дотримуйтеся його для виконання завдання — видалення гілки у два кроки: локально та віддалено.
Далі ви можете дізнатися, як видалити репозиторій GitHub.
Вдалого вам програмування! 🙂
Чи сподобалася вам ця стаття? Тоді, чому б не поділитися нею зі світом?