Способи оплати 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

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

$ git push origin --delete feature/somefeature1

Тепер її більше немає у сховищі.

Існують команди для відновлення видаленої фічі, а також спрощений синтаксис. Замість опції --delete вкажіть двокрапку перед назвою. Наприклад

git push origin :feature/somefeature1

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

$ git push --prune origin

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