Kami ingin memberlakukan kebijakan baru untuk proyek kami yang cabang master sekarang disebut cabang rilis untuk memastikan lebih jelas tentang bagaimana cabang harus digunakan. Tentunya, kami juga akan mengembangkan dan melepas calon cabang.
Saya mengerti bahwa saya dapat mengganti nama cabang master secara lokal hanya dengan menggunakan berikut ini:
git branch -m master release
Namun, itu hanya secara lokal. Bahkan jika saya mendorong ini ke remote, HEAD masih mengarah ke cabang master jarak jauh. Saya ingin menyingkirkan cabang master sepenuhnya dan membuat cabang lokal default pada klon awal, menjadi rilis.
Bagaimana saya bisa mencapai ini?
Tampaknya karena asalnya ada di server Gitorious , saya mendapatkan kesalahan saat menghapus cabang master. Saya mencoba untuk melihat sekarang apakah mungkin untuk mengubah ini sehingga cabang default adalah 'rilis'.
sumber
git branch
sekarang mendukung--move
bendera git-scm.com/docs/git-branch#Documentation/git-branch.txt---moveJawaban:
Harap diperhatikan, jika Anda menggunakan GitHub, Anda harus terlebih dahulu mengubah cabang "default" Anda di GitHub setelah langkah 3:
Di repositori Anda di github.com, buka Pengaturan → Cabang → Cabang Default . Ubah untuk melepaskan lalu lakukan langkah-langkah selanjutnya.
sumber
! [remote rejected] branch (deletion of the current branch prohibited)
akan terjadi dengan Bitbucket. Ganti "Repositori Utama 'di layar pengaturan (di bawah ikon roda gigi).Lihat cabang master Anda
Buat cabang rilis Anda dan alihkan ke:
Dorong itu ke server
Hapus referensi cabang master di server
Hapus cabang master lokal
sumber
Catatan: Jawaban ini ditujukan untuk server Git yang dihosting sendiri di mana Anda memiliki akses baris perintah.
Karena mencoba menghapus
remote master
dari klien memang tidak diperbolehkan dan saya menganggap larangan itudenyDeleteCurrent
masuk akal, saya tidak ingin mengubah pengaturan itu.Namun, saya menemukan bahwa cara termudah untuk mengganti nama master Anda jika Anda memiliki akses baris perintah ke server jarak jauh adalah dengan menjalankan perintah ganti nama secara langsung di jarak jauh.
Ini berhasil untuk saya:
git branch -m master release
Sekarang repositori jarak jauh digunakan
release
sebagai cabang defaultnya dan setiapgit clone
di repositori itu dari klien mana pun akan memeriksa cabang rilis secara default.Ini juga sangat membantu setelah menyiapkan repositori kosong untuk mengkonfigurasinya sesuai kebutuhan Anda.
sumber
Seperti yang dinyatakan sebelumnya oleh orang lain, masalah di sini adalah Gitorious, yang tidak memungkinkan Anda menghapus cabang HEAD secara default. Anda memiliki dua pilihan untuk mengatasi masalah ini. Salah satunya adalah masuk ke server Gitorious (dengan ssh), temukan repositori Git di server file dan tambahkan:
ke konfigurasi.
Pilihan yang lebih mudah adalah dengan mengubah cabang default. Masuk ke repositori Anda di antarmuka web Gitorious, tekan "Edit repositori", dan setel "Head Ubah referensi simbolik HEAD di repositori Git mengarah ke:". Setelah Anda melakukan ini, Anda dapat menghapus cabang master.
sumber
Jika Anda mengalami masalah ini dengan GitHub , lakukan langkah-langkah hingga menghapus cabang dari jarak jauh. Itu tidak akan membiarkan Anda melakukan itu. Kemudian masuk ke antarmuka Web dan pada repositori buka Pengaturan → Cabang → Cabang Default . Ubah ke cabang baru dan lakukan langkah selanjutnya.
sumber
Idealnya, Anda ingin menyiapkan pelacakan, jadi lakukan ini:
Sekarang, apakah Anda ingin menghapus yang lain?
Sederhana!
sumber
Karena Anda sudah selesai mengganti nama cabang, untuk mengatur HEAD ke
release
remoteKemudian untuk menghapus
master
cabang secara remote, Anda harus menjadi administrator, setidaknya di GitHub. Silakan lihat posting ini untuk informasi lebih lanjut.sumber