Hapus cabang di Bitbucket

133

Saya telah membuat banyak cabang di salah satu repositori kami. Cabang-cabang itu untuk pengujian sebelum akan ditarik ke master. Sekarang saya melihat banyak dari mereka dalam daftar dan mereka kita tidak akan pernah menggunakannya lagi. Bagaimana cara menghapus cabang-cabang itu langsung ke Bitbucket?

catherine
sumber

Jawaban:

224

Jika cabang hanya lokal, Anda bisa menggunakan -d jika cabang telah digabung, seperti

git branch -d branch-name

Jika cabang berisi kode yang Anda tidak pernah rencanakan untuk bergabung, gunakan -D sebagai gantinya.

Jika cabang dalam repo hulu (di Bitbucket) Anda dapat menghapus referensi jarak jauh dengan

git push origin :branch-name

Juga, jika Anda berada di situs web Bitbucket, Anda dapat menghapus cabang yang Anda dorong dengan membuka tab Cabang fitur di bawah Komit di situs. Di sana Anda akan menemukan ikon elipsis. Klik itu, lalu pilih Hapus cabang . Pastikan Anda ingin membuang semua perubahan di sana!

masukkan deskripsi gambar di sini

Marcus
sumber
2
Jika saya menjalankan 'git branch -r', saya perhatikan bahwa BB tidak menghapus cabang dari server. Itu tidak lagi muncul di GUI, tetapi menunjukkan di server git.
kacang jersey
37

Untuk menghapus cabang dari Bitbucket,

  1. Pergi ke Ikhtisar (Repositori Anda> cabang di sidebar kiri)
  2. Klik jumlah cabang (yang akan menunjukkan daftar cabang)
  3. Klik pada cabang yang ingin Anda hapus
  4. Di sudut kanan atas, klik 3 titik (di samping tombol Gabung).
  5. Ada opsi "Hapus Cabang" jika Anda memiliki hak.
Mital Pritmani
sumber
1
Di mana 'ikhtisar'? Jika yang Anda maksud Sumber, saya tidak melihat opsi 'Hapus Cabang' di bawah ...
niico
7
Langkah 1 harus "pergi ke repo Anda dan klik 'cabang' di sidebar kiri."
Noumenon
19

Selain jawaban yang diberikan oleh @Marcus, Anda sekarang juga dapat menghapus cabang jarak jauh melalui:

git push [remote-name] --delete [branch-name] 
Ralf Rafael Frix
sumber
8

di Bitbucket pergi ke cabang di menu sebelah kiri.

  1. Pilih cabang Anda yang ingin Anda hapus.
  2. Buka kolom tindakan, klik tiga titik (...) dan pilih hapus.
Sharma Prashant
sumber
7

Saya bisa menghapus sebagian besar cabang saya tetapi yang satu terlihat seperti ini dan saya tidak bisa menghapusnya:

masukkan deskripsi gambar di sini

Ternyata seseorang telah menetapkan di Branch permissionsbawah Settingsdan dari sana tidak dicentang Allow deleting this branch. Semoga ini bisa membantu seseorang.

masukkan deskripsi gambar di sini

Pembaruan : Di mana pengaturan terletak dari pertanyaan dalam komentar. Masukkan repositori yang tidak ingin Anda edit untuk mendapatkan menu. Anda mungkin memerlukan hak admin untuk mengubahnya.

masukkan deskripsi gambar di sini

Ogglas
sumber
Di mana orang dapat menemukan "Pengaturan"? Saya harus menghapus cabang utama atau semua file di dalamnya. Bagaimana saya melakukannya?
3

Langkah 1: Masuk di Bitbucket

Langkah 2: Pilih Repositori Anda di daftar Repositori. masukkan deskripsi gambar di sini

Langkah 3: Pilih cabang di menu sebelah kiri. masukkan deskripsi gambar di sini

Langkah4: Titik kursor pada klik cabang pada tiga titik (...) Pilih Hapus (Lihat dalam Gambar Di Bawah) masukkan deskripsi gambar di sini

Nanhe Kumar
sumber
2

Jika Anda menggunakan pycharm IDE untuk pengembangan dan Anda telah menambahkan Git dengannya. Anda dapat langsung menghapus cabang jarak jauh dari pycharm. Dari toolbar VCS -> Git -> Branches -> Select branch -> dan Delete . Ini akan menghapusnya dari server git jarak jauh.

Jyoti Amage
sumber
2

Saya telah menulis skrip kecil ini ketika jumlah cabang di repo saya melebihi beberapa ratus. Saya tidak tahu tentang metode lain (dengan CLI) jadi saya memutuskan untuk mengotomatiskannya dengan selenium. Ini hanya membuka situs web Bitbucket, pergi ke Cabang, gulir ke bawah halaman sampai akhir dan klik pada setiap menu opsi cabang -> klik tombol Hapus -> klik Ya. Dapat disetel untuk menjaga cabang N terakhir (100 - default) dan melewati cabang dengan nama tertentu (master, mengembangkan - default, bisa lebih). Jika ini cocok untuk Anda, Anda bisa mencobanya.

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

Yang Anda butuhkan hanyalah mengkloning repositori, mengunduh versi yang tepat dari Chrome-webdriver, memasukkan beberapa konstanta seperti URL ke repositori Anda dan menjalankan skrip.

Kode ini cukup sederhana untuk dipahami. Jika Anda memiliki pertanyaan, tulis komentar / buat Isu.

Dan
sumber
1

Coba perintah ini, ini akan membersihkan semua cabang yang telah digabungkan ke developcabang.

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
Ehab Al-Hakawati
sumber
0

Di Android Studio , opsi di sudut kanan IDE:

  • Ubah / checkout cabang lokal lainnya
  • Hapus cabang lokal yang tidak diinginkan (mis. V0.0.1 ...)
  • Hapus cabang jarak jauh yang tidak diinginkan (yaitu asal / v0.0.1 ...) - langkah ini akan menghapus cabang di BitBucket jika cabang tidak dicegah untuk dihapus dan mereka bukan CABANG UTAMA .
Tim Long
sumber
0

Jika Anda suka kesenangan, maka Anda bisa pergi ke halaman daftar cabang Anda (misalnya digabung) dan jalankan di konsol 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!`)) }) })

SEBELUM MENJALANKAN

  • ganti <yourprofilenick>dengan nick BitBucket Anda
  • ganti <your_organization_path>dengan jalur organisasi Anda

BAGAIMANA ITU BEKERJA

Pertama-tama kita membutuhkan halaman dengan token CSRF di sumber halaman, jadi saya pilih:

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

Kemudian untuk setiap cabang (dalam daftar cabang) ia mendapatkan token CSRF dan menghapus cabang itu.

AWAS

Ingatlah untuk mencegah cabang sensitif sebelum menghapus dalam pengaturan repo.

Itu TIDAK AKAN menghapus cabang utama.

INFORMASI TAMBAHAN

Anda harus masuk.

Ini menghapus hanya cabang yang terlihat pada halaman itu (jadi untuk menghapus sisa cabang Anda harus pergi ke halaman berikutnya).

turkus
sumber