Способи оплати Abuse

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

04.09.2021, 19:43

З метою забезпечення розробки різних версій ПЗ тут реалізовано гілки. Вони використовуються для розробки нової функціональності в утиліті. Якщо розробкою продукту займається команда, кожен розробник може працювати над певною функціональністю в окремій гілці.

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

Як видалити

Перед видаленням гілки подивимося, що ми маємо. Для перегляду локальних використовуйте команду в папці з репозиторієм:

$ git branch

Команда виводить список локальних, зеленим кольором і зірочкою виділяється поточна. Щоб видалити її, необхідно використовувати ту саму команду branch з опцією -d. Наприклад, для того щоб видалити feature/somefeature1, виконайте таку команду

$ git branch -d feature/somefeature1

Як варіант:

$ git branch --delete feature/somefeature1

Якщо в цій гілці є не зафіксовані зміни або комміти, не відправлені на сервер, то програма може відмовитися її видаляти. Для того щоб усе ж видалити використовуйте опцію -D:

$ git branch -D feature/somefeature1
І ще спосіб:
$ git branch --delete --force feature/somefeature1

Гілку видалено, якщо після цього ви знову перевірите список локальних гілок, то цієї гілки там більше не буде:

Далі розберемося як виконується видалення видаленої гілки. У цьому випадку гілка видалилася тільки локально, але якщо вона була вже відправлена у віддалений репозиторій, то там вона все ще є.

Як видалити видалену гілку

Як видалити її з віддаленого репозиторію? Насамперед необхідно отримати список і всі оновлення з доданих віддалених репозиторіїв.

Виконуємо:

$ git pull

Для того щоб подивитися видалені необхідно виконати таку команду в папці з репозиторієм git:

$ git branch -r

Тут знаходяться відмічені червоним і перед ім'ям кожної з них вказано джерело, в якому вона є. У цьому випадку це origin. Для видалення видаленої використовується команда push з опцією --delete, наприклад, для тієї ж feature/somefeature1 команда виглядатиме ось так:

$ git push origin --delete feature/somefeature1

Тепер у репозиторії вона відсутня.

Команди, що дають змогу видалити видалену є, а ще спрощений синтаксис. Замість опції --delete вкажіть перед іменем двокрапку.

Наприклад:

$ git push origin :feature/somefeature1

Така команда теж працюватиме. Якщо ви хочете видалити всі видалені гілки, яких немає локально, використовуйте команду:

$ git push --prune origin
На цьому все. Ми розглянули інструкцію. Зробити це не так складно. Якщо ви будете використовувати графічні клієнти, то все стане ще простіше.