Відповіді:
Якщо гілки є лише локальними, ви можете використовувати -d, якщо гілка була об'єднана, наприклад
git branch -d branch-name
Якщо гілка містить код, який ви ніколи не плануєте об’єднувати, скористайтеся -D .
Якщо гілка знаходиться у репортажі вище за потоком (у Bitbucket), ви можете видалити віддалену посилання за допомогою
git push origin :branch-name
Крім того, якщо ви перебуваєте на веб-сайті Bitbucket, ви можете видалити гілки, які ви натиснули, перейшовши на вкладку « Особливості гілок » у розділі Коміти на сайті. Там ви знайдете піктограму еліпсиса. Клацніть це, а потім виберіть Видалити гілку . Просто будьте впевнені, що хочете залишити всі зміни там!
Щоб видалити гілку з Bitbucket,
Окрім відповіді, наданої @Marcus, ви також можете видалити віддалену гілку через:
git push [remote-name] --delete [branch-name]
у Bitbucket перейдіть до гілок у меню лівої сторони.
Я міг видалити більшість моїх гілок, але одна виглядала так, і я не могла її видалити:
Виявилося, хтось поставив Branch permissions
під Settings
і звідти неперевірений Allow deleting this branch
. Сподіваюся, це може комусь допомогти.
Оновлення : там, де налаштування розташовані від питання в коментарі. Введіть сховище, яке ви не хочете редагувати, щоб отримати меню. Можливо, вам знадобляться права адміністратора, щоб змінити це.
Якщо ви використовуєте IDE pycharm для розробки, і ви вже додали Git до нього. Ви можете безпосередньо видалити віддалену гілку з pycharm. На панелі інструментів VCS -> Git -> Відділення -> Вибрати гілку -> та Видалити . Це видалить його з віддаленого сервера git.
Я написав цей маленький сценарій, коли кількість відділень мого репо перевищила кілька сотень. Я не знав про інші методи (з CLI), тому вирішив автоматизувати це селеном. Він просто відкриває веб-сайт Bitbucket, переходить до Відділення, прокручує сторінку до кінця і натискає на кожне меню параметрів гілки -> натискає кнопку Видалити -> клацає Так. Його можна настроїти, щоб зберегти останні N (100 - за замовчуванням) гілок та пропустити гілки із конкретними іменами (master, develo - default, може бути більше). Якщо це вам підходить, ви можете спробувати так.
https://github.com/globad/remove-old-branches
Все, що вам потрібно - це клонувати сховище, завантажити належну версію Chrome-webdriver, ввести кілька констант, наприклад URL у ваше сховище, та запустити скрипт.
Код досить простий для розуміння. Якщо у вас виникли запитання, напишіть коментарі / створіть випуск.
Спробуйте цю команду, вона очистить усі гілки, які були об'єднані з 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
В Android Studio параметри в правому куті IDE:
Якщо вам подобається розвага, ви можете просто перейти на сторінку з переліком ваших гілок (наприклад, об'єднаних) і просто запустити в консоль 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 та видаляє цю гілку.
Перейдіть, щоб запобігти чутливим гілкам перед видаленням у налаштуваннях репо.
НЕ БУДЕ видалити головну гілку.
Ви повинні увійти до системи.
Він видаляє лише гілки, видимі на цій сторінці (тому для видалення решти гілок вам потрібно перейти на наступну сторінку).