Tampaknya Anda ingin menghapus 2011_Hotfix
cabang tanpa kehilangan riwayatnya. Saya akan membahas penghapusan pertama dan sejarah kedua.
git
Metode penghapusan cabang biasa telah dijelaskan di atas, dan mereka bekerja seperti yang diharapkan. git
tidak memiliki perintah satu atau dua kata yang berarti, "Hei git
, hapus cabang lokal dan remote." Tetapi perilaku ini dapat ditiru melalui shell script. Misalnya, ambil skrip shell Zach Holman 'git-nuke' . Ini sangat sederhana:
#!/bin/sh
git branch -D $1
git push origin :$1
Masukkan ini dalam file yang dapat dieksekusi (mis., git-nuke
) Di salah satu $PATH
direktori Anda . Jika Anda tidak berada di 2011_Hotfix
cabang, Anda hanya menjalankan git-nuke 2011_Hotfix
akan menghapus cabang lokal dan jauh. Ini jauh lebih cepat & sederhana - meskipun mungkin lebih berbahaya - daripada standargit
perintah .
Kekhawatiran Anda tentang pelestarian sejarah adalah hal yang bagus. Dalam hal ini, Anda tidak perlu khawatir. Setelah Anda bergabung 2011_Hotfix
ke master
, semua komit dari 2011_Hotfix
akan ditambahkan ke master
's sejarah commit. Singkatnya, Anda tidak akan kehilangan riwayat dari penggabungan sederhana.
Saya punya satu kata lagi untuk ditambahkan yang mungkin di luar cakupan pertanyaan Anda, tetapi tetap relevan. Mari kita bayangkan bahwa ada 20 kecil, "sedang dalam proses" berkomitmen 2011_Hotfix
; namun, Anda hanya ingin satu komit lengkap untuk 2011_Hotfix
ditambahkan ke master
riwayat. Bagaimana Anda menggabungkan semua 20 komit kecil menjadi satu komit besar? Untungnya, git
memungkinkan Anda untuk mengkonsolidasikan banyak komit menjadi satu komit dengan menggunakan git-rebase
. Saya tidak akan menjelaskan di sini cara kerjanya; Namun, jika Anda tertarik, dokumentasinyagit-rebase
sangat bagus. Perhatikan bahwagit rebase
penulisan ulang riwayat, sehingga harus digunakan secara bijaksana, terutama jika Anda baru mengenalnya. Akhirnya, 2011_Hotfix
skenario Anda adalah tentang tim pengembang, bukan pengembang solo. Jika anggota tim proyek digunakangit rebase
, bijaksana bagi tim untuk memiliki pedoman eksplisit tentang penggunaan git rebase
agar beberapa koboi pengembang tidak secara tidak sengaja merusak sejarah proyek git
.