Yanıtlar:
Şubeler yalnızca yerelse , şube birleştirildiyse -d kullanabilirsiniz , örneğin
git branch -d branch-name
Dal, birleştirmeyi asla planlamadığınız bir kod içeriyorsa, bunun yerine -D'yi kullanın.
Şube yukarı akış deposundaysa (Bitbucket'ta) uzak referansı şu şekilde kaldırabilirsiniz:
git push origin :branch-name
Eğer Bitbucket web sitesinde eğer Ayrıca, size giderek aktardıktan dalları kaldırabilirsiniz Özellik dalları altında sekmesi taahhüt sitesinde. Orada bir üç nokta simgesi bulacaksınız. Bunu tıklayın, ardından Şubeyi sil'i seçin . Sadece tüm değişiklikleri oraya bırakmak istediğinizden emin olun!
Şubeyi Bitbucket'tan silmek için,
@Marcus tarafından verilen cevaba ek olarak, artık uzak bir şubeyi şu yolla silebilirsiniz:
git push [remote-name] --delete [branch-name]
içinde Bitbucket sol taraftaki menüde dallar gidin.
Şubelerimin çoğunu silebilirdim ama biri şöyle görünüyordu ve silemedim:
Çıktı birisi batmıştı Branch permissions
altında Settings
ve orada kontrolsüz gelen Allow deleting this branch
. Umarım bu birine yardımcı olabilir.
Güncelleme : Ayarların yorumda sorulduğu yer. Menüyü almak için düzenlemek istemediğiniz depoyu girin. Bunu değiştirmek için yönetici ayrıcalıklarına ihtiyacınız olabilir.
Geliştirme için bir pycharm IDE kullanıyorsanız ve bununla Git'i zaten eklediyseniz. doğrudan pycharm'dan uzak dalı silebilirsiniz. Araç çubuğundan VCS -> Git -> Dallar -> Dal seç -> ve Sil . Uzak git sunucusundan silecektir.
Bu küçük senaryoyu repomdaki şube sayısı birkaç yüzü aştığında yazdım. Diğer yöntemleri (CLI ile) bilmiyordum, bu yüzden selenyum ile otomatikleştirmeye karar verdim. Basitçe Bitbucket web sitesini açar, Dallar'a gider, sayfayı sonuna kadar kaydırır ve her dal seçenekleri menüsünü tıklar -> Sil düğmesini tıklar -> Evet'i tıklar. Son N (100 - varsayılan) dalı tutmak ve belirli adlara sahip dalları atlamak için ayarlanabilir (ana, geliştirme - varsayılan, daha fazla olabilir). Bu size uyuyorsa, o şekilde deneyebilirsiniz.
https://github.com/globad/remove-old-branches
İhtiyacınız olan tek şey depoyu klonlamak, Chrome-webdriver'ın uygun sürümünü indirmek, deponuza URL gibi birkaç sabit girmek ve komut dosyasını çalıştırmaktır.
Kod anlaşılması için yeterince basit. Herhangi bir sorunuz varsa, yorum yazın / bir Sorun oluşturun.
Bu komutu deneyin, dala birleştirilen tüm dalları temizleyecektir 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
In Android Studio IDE sağ köşesine aşağı seçenekleri:
Eğlenceyi seviyorsanız, şubelerinizin listeleme sayfasına gidebilir (örneğin birleştirilmiş) ve sadece javascript konsolunda çalıştırabilirsiniz:
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 nickinizle değiştirin<your_organization_path>
organizasyon yolunuzla değiştirinÖncelikle, sayfa kaynağında CSRF belirteci bulunan bir sayfaya ihtiyacımız var, bu yüzden şunu seçiyorum:
https://bitbucket.org/snippets/new?owner=<yourprofilenick>
Daha sonra her dal için (bir dal listesinde) CSRF belirteci alır ve o dalı siler.
Depo ayarlarında silmeden önce hassas dalları önlemeyi unutmayın.
Ana dalı SİLMEZ.
Giriş yapmalısınız.
Yalnızca o sayfada görünen dalları siler (bu nedenle kalan dalları silmek için sonraki sayfaya gitmeniz gerekir).