Git memperingatkan bahwa Anda mungkin kehilangan riwayat dengan menghapus cabang ini. Meskipun itu tidak akan langsung menghapus komit, beberapa atau semua komit di cabang akan menjadi tidak terjangkau jika mereka bukan bagian dari cabang lain juga.
Agar cabang experiment
dapat "sepenuhnya digabung" ke cabang lain, ujung komitnya harus merupakan leluhur dari ujung cabang lainnya, membuat komit dalam experiment
subset cabang lainnya. Ini membuatnya aman untuk dihapus experiment
, karena semua komitnya akan tetap menjadi bagian dari sejarah repositori melalui cabang lain. Itu harus "sepenuhnya" digabung, karena mungkin sudah digabung beberapa kali, tetapi sekarang telah menambahkan komitmen sejak penggabungan terakhir yang tidak terdapat di cabang lain.
Git tidak memeriksa setiap cabang lain di repositori; hanya dua:
- Cabang saat ini (KEPALA)
- Cabang hulu, jika ada
"Cabang hulu" untuk experiment
, seperti dalam kasus Anda, mungkin origin/experiment
. Jika experiment
sepenuhnya digabung dalam cabang saat ini, maka Git menghapusnya tanpa keluhan. Jika tidak, tetapi sepenuhnya digabung dalam cabang hulu, maka Git melanjutkan dengan peringatan yang tampak seperti:
warning: deleting branch 'experiment' that has been merged
to 'refs/remotes/origin/experiment', but not yet merged to
HEAD.
Deleted branch experiment (was xxxxxxxx).
Di mana xxxxxxxx
menunjukkan id komit. Digabung penuh di hulu menunjukkan bahwa komit experiment
telah didorong ke repositori asal, sehingga bahkan jika Anda kehilangannya di sini, mereka setidaknya dapat disimpan di tempat lain.
Karena Git tidak memeriksa cabang lain, mungkin aman untuk menghapus cabang karena Anda tahu itu sepenuhnya digabung menjadi cabang lain; Anda dapat melakukan ini dengan -D
opsi seperti yang ditunjukkan, atau beralih ke cabang itu terlebih dahulu dan biarkan Git mengkonfirmasi status yang sepenuhnya digabung untuk Anda.