Di Git, cabang hanyalah daftar komit yang dipesan (alias: checkin). Sesuatu yang dapat sedikit membingungkan bagi pengguna baru adalah bahwa cabang tidak perlu memiliki nama (walaupun dalam sebagian besar keadaan Anda menginginkannya); dan tidak ada yang istimewa dari cabang tertentu ( mastercabang itu hanya cabang default yang dibuat untuk Anda ketika Anda menginisialisasi repositori).
Anda mungkin sudah mengetahui hal ini, tetapi Git berbeda dari beberapa sistem kontrol versi lain seperti "Subversion" yang populer, karena setiap "copy pekerjaan" (dalam bahasa Subversion) adalah repositori miliknya sendiri ... pada kenyataannya, tidak ada yang istimewa khusus tentang salinan tertentu; kecuali bahwa satu salinan secara umum telah disetujui sebagai yang "kanonik" yang digunakan untuk menyimpan produk akhir.
Jadi, kembali ke pertanyaan Anda ... repositori "kanonik" yang Anda kloning ketika Anda memulai salinan lokal Anda berisi cabang "master" secara default; dan itu macet di sekitar. Sekarang, jika Anda memiliki akses ke komputer yang berisi repositori master, Anda bisa masuk dan menjalankan:
git branch -d master
Namun, jika Anda tidak dapat melakukannya, Anda masih dapat melakukannya dari mesin lokal Anda. The git branchperintah memiliki -ropsi yang mempengaruhi repositori jauh. Dengan kata lain, menjalankan perintah berikut harus bekerja:
git branch -d -r master
Perhatikan bahwa dalam kedua kasus tersebut; Saya berasumsi bahwa mastertelah sepenuhnya digabungkan ke dalam sejarah pengembangan tempat salinan lokal Anda saat ini berada. Jika Anda belum pernah menggunakan mastersebelumnya (yaitu: Anda hanya pernah check in ke developmentatau production), Anda tidak perlu khawatir. Namun, jika Anda (atau orang lain) telah memeriksa beberapa hal master, maka Anda mungkin memiliki masalah. Anda dapat memaksa penghapusan dengan mengubah -dke -Ddalam perintah di atas; tapi saya sangat merekomendasikan memeriksa untuk melihat apa yang ada mastersebelumnya! Jika Anda tidak memiliki akses ke komputer jarak jauh, Anda mungkin tidak akan dapat memulihkannya!
Ngomong-ngomong; jika Anda (atau orang lain) baru mengenal Git, saya sangat merekomendasikan membaca Git dari Bawah ke Atas oleh John Wiegley . Walaupun saya menggunakan Git sendiri sebelum menemukan artikel ini, saya tidak begitu mengerti bagaimana cara kerjanya sampai saya membacanya. Ini cukup berguna!
git branch -d -r mastertidak lagi menghapus cabang jarak jauh - ia menghapus pengetahuan salinan lokal Anda tentang cabang jarak jauh. Lain kali Andagit fetch, cabang akan kembali! Sebaliknya, Anda ingin menjalankangit push origin :master. Pada dasarnya apa yang Anda lakukan di sini adalah mendorong cabang nol (nama cabang kosong di sebelah kiri:) di atas cabang jarak jauh (nama cabang di sisi kanan:), secara efektif menghapusnya.