Видалити гілки в Bitbucket


133

Я створив багато відділень в одному з наших сховищ. Ці гілки призначені для тестування до того, як вони будуть виведені майстру. Зараз я бачу їх багато у списку, і ми їх ніколи більше не будемо використовувати. Як видалити ці гілки безпосередньо в Bitbucket?

Відповіді:


224

Якщо гілки є лише локальними, ви можете використовувати -d, якщо гілка була об'єднана, наприклад

git branch -d branch-name

Якщо гілка містить код, який ви ніколи не плануєте об’єднувати, скористайтеся -D .

Якщо гілка знаходиться у репортажі вище за потоком (у Bitbucket), ви можете видалити віддалену посилання за допомогою

git push origin :branch-name

Крім того, якщо ви перебуваєте на веб-сайті Bitbucket, ви можете видалити гілки, які ви натиснули, перейшовши на вкладку « Особливості гілок » у розділі Коміти на сайті. Там ви знайдете піктограму еліпсиса. Клацніть це, а потім виберіть Видалити гілку . Просто будьте впевнені, що хочете залишити всі зміни там!

введіть тут опис зображення


2
Якщо я запускаю 'git branch -r', я помічаю, що BB не видаляє гілку з сервера. Він більше не відображається в графічному інтерфейсі, але показується на git-сервері.
jersey bean

37

Щоб видалити гілку з Bitbucket,

  1. Перейдіть на Огляд (Ваше сховище> відділення в лівій бічній панелі)
  2. Клацніть на кількість відділень (яка повинна відображати список гілок)
  3. Клацніть на гілку, яку потрібно видалити
  4. У верхньому правому куті натисніть 3 крапки (крім кнопки Об’єднання).
  5. Є можливість "Видалити відділення", якщо у вас є права.

1
Де "огляд"? Якщо ви маєте на увазі "Джерело", я не бачу опції "Видалити гілку" під ...
niico

7
Крок 1 повинен бути "перейдіть до вашого репо і натисніть" гілки "на лівій бічній панелі."
Ноумен


8

у Bitbucket перейдіть до гілок у меню лівої сторони.

  1. Виберіть свою філію, яку потрібно видалити.
  2. Перейдіть до стовпця "Дія", натисніть на три точки (...) та виберіть "Видалити".

7

Я міг видалити більшість моїх гілок, але одна виглядала так, і я не могла її видалити:

введіть тут опис зображення

Виявилося, хтось поставив Branch permissionsпід Settingsі звідти неперевірений Allow deleting this branch. Сподіваюся, це може комусь допомогти.

введіть тут опис зображення

Оновлення : там, де налаштування розташовані від питання в коментарі. Введіть сховище, яке ви не хочете редагувати, щоб отримати меню. Можливо, вам знадобляться права адміністратора, щоб змінити це.

введіть тут опис зображення


Де можна знайти "Налаштування"? Я повинен видалити головну гілку або всі файли в ній. Як це зробити?

3

Крок 1: Увійдіть в Bitbucket

Крок 2: Виберіть свій сховище у списку сховищ. введіть тут опис зображення

Крок 3: Виберіть гілки в меню лівої сторони. введіть тут опис зображення

Крок 4: Курсор курсору на гілці натисніть на три крапки (...) Виберіть Видалити (див. Нижче зображення) введіть тут опис зображення


2

Якщо ви використовуєте IDE pycharm для розробки, і ви вже додали Git до нього. Ви можете безпосередньо видалити віддалену гілку з pycharm. На панелі інструментів VCS -> Git -> Відділення -> Вибрати гілку -> та Видалити . Це видалить його з віддаленого сервера git.


2

Я написав цей маленький сценарій, коли кількість відділень мого репо перевищила кілька сотень. Я не знав про інші методи (з CLI), тому вирішив автоматизувати це селеном. Він просто відкриває веб-сайт Bitbucket, переходить до Відділення, прокручує сторінку до кінця і натискає на кожне меню параметрів гілки -> натискає кнопку Видалити -> клацає Так. Його можна настроїти, щоб зберегти останні N (100 - за замовчуванням) гілок та пропустити гілки із конкретними іменами (master, develo - default, може бути більше). Якщо це вам підходить, ви можете спробувати так.

https://github.com/globad/remove-old-branches

Все, що вам потрібно - це клонувати сховище, завантажити належну версію Chrome-webdriver, ввести кілька констант, наприклад URL у ваше сховище, та запустити скрипт.

Код досить простий для розуміння. Якщо у вас виникли запитання, напишіть коментарі / створіть випуск.


1

Спробуйте цю команду, вона очистить усі гілки, які були об'єднані з developгілкою.

for i in `git branch -r --merged origin/develop| grep origin | grep -v '>' \
   | grep -v master | grep -v develop | sed -E "s|^ *origin/||g"`; \
do \
   git push origin $i --delete; \
done

0

В Android Studio параметри в правому куті IDE:

  • Змінити / оформити іншу місцеву відділення
  • Видаліть небажані локальні гілки (тобто v0.0.1 ...)
  • Видалення небажаних віддалені гілки (тобто походження / v0.0.1 ...) - цей крок буде видаляти гілки в BitBucket якщо гілки не заважало бути видалені , і вони не є головною гілкою .

0

Якщо вам подобається розвага, ви можете просто перейти на сторінку з переліком ваших гілок (наприклад, об'єднаних) і просто запустити в консоль javascript:

document.querySelectorAll('tr td div a:first-child').forEach(function(item) { fetch('https://bitbucket.org/snippets/new?owner=<yourprofilenick>', {'credentials': 'same-origin'}).then((response) => {return response.text()}).then(function(string) { return /'csrfmiddlewaretoken' value='(.*)'/g.exec(string)[1] }).then(function(csrf) { if (!~item.innerText.indexOf('/')) return; 
 fetch(`https://bitbucket.org/!api/2.0/repositories/<your_organization_path>/refs/branches/${item.innerText}`, {headers: {"x-csrftoken": csrf}, credentials: "same-origin", method: 'DELETE'}).then(() => console.log(`${item.innerText} DELETED!`)) }) })

ПЕРЕД РУН

  • замініть <yourprofilenick>своїм ніком BitBucket
  • замінити <your_organization_path>на організаційний шлях

ЯК ЦЕ ПРАЦЮЄ

Спочатку нам потрібна сторінка з маркером CSRF у джерелі сторінки, тому я вибираю:

https://bitbucket.org/snippets/new?owner=<yourprofilenick>

Потім для кожної гілки (у списку гілок) вона отримує маркер CSRF та видаляє цю гілку.

ПОДЕРЖАЙТЕ

Перейдіть, щоб запобігти чутливим гілкам перед видаленням у налаштуваннях репо.

НЕ БУДЕ видалити головну гілку.

ДОДАТКОВА ІНФОРМАЦІЯ

Ви повинні увійти до системи.

Він видаляє лише гілки, видимі на цій сторінці (тому для видалення решти гілок вам потрібно перейти на наступну сторінку).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.