Apa yang harus dilakukan dengan cabang setelah bergabung


Jawaban:


410

Setelah penggabungan, aman untuk menghapus cabang:

git branch -d branch1

Selain itu, git akan memperingatkan Anda (dan menolak untuk menghapus cabang) jika ia berpikir Anda belum sepenuhnya menggabungkannya. Jika Anda secara paksa menghapus cabang (dengan git branch -D) yang belum sepenuhnya digabungkan, Anda harus melakukan beberapa trik untuk mendapatkan kembali komitmen yang tidak terputus (lihat di bawah).

Ada beberapa alasan untuk mempertahankan cabang. Misalnya, jika itu adalah cabang fitur, Anda mungkin ingin dapat melakukan perbaikan bug pada fitur yang masih di dalam cabang itu.

Jika Anda juga ingin menghapus cabang pada host jarak jauh, Anda dapat melakukan:

git push origin :branch1

Ini akan secara paksa menghapus cabang pada remote (ini tidak akan memengaruhi repositori yang sudah check-out dan tidak akan mencegah siapa pun dengan akses push untuk mendorong kembali / membuatnya).


git reflogmemperlihatkan revisi yang baru saja diperiksa. Cabang apa pun yang telah Anda periksa dalam riwayat repositori terbaru juga akan muncul di sana. Selain itu, git fsckakan menjadi alat pilihan di setiap kasus kehilangan komit di git.


Jika Anda ingin menyimpan cabang, Anda dapat membuat tag sebelum menghapusnya. Jika Anda ingin kembali ke titik itu, Anda dapat memeriksa tag itu.
Joqus

3
@ Joqus saya lebih suka menyarankan untuk menyimpannya sebagai cabang dalam kasus itu. Hanya saja, jangan mempublikasikannya.
Jonas Schäfer

Untuk berjaga-jaga - jika Anda ingin "sepenuhnya menggabungkan" cabang sebelum menghapusnya, cukup dorong cabang itu setelah bergabung, tetapi sebelum menghapus. Sesuatu sepertigit checkout master && git merge branch1 && git push origin branch1 && git branch -d branch1
avtomaton

25

Saya lebih suka RENAME daripada DELETE

Semua cabang saya diberi nama dalam bentuk

  • Fix/fix-<somedescription> atau
  • Ftr/ftr-<somedescription> atau
  • dll.

Menggunakan Menara sebagai front end git saya, dengan rapi mengatur semua Ftr/, Fix/, Test/dll ke dalam folder.
Setelah saya selesai dengan cabang, saya ganti namanya menjadi Done/...-<description>.

Dengan begitu mereka masih ada di sana (yang bisa berguna untuk memberikan sejarah) dan saya selalu bisa kembali mengetahui apa itu (fitur, perbaikan, pengujian, dll.)


4
Apakah Anda juga mengganti nama cabang jarak jauh?
VitalyB

22
Tampaknya berlebihan untuk mempertahankan cabang-cabang ini, dan gila untuk menamainya kembali. Apakah saya melewatkan sesuatu di sini? Anda selalu dapat membuat ulang cabang. stackoverflow.com/questions/3640764/…
ksav

tidak masuk akal untuk mempertahankan cabang setelah mereka bergabung
rastaman

2
+1 untuk Gagasan tentang penggantian nama menjadi Fix, Test, dan Done ... Menjaga cabang adalah cara kontraktor dibayar di perusahaan saya.
jpfreire

1

Jika Anda akan melanjutkan dan HAPUS cabang setelah menggabungkannya.
Rawat
semua referensi URL hyperlink dari cabang-cabang Anda DIHAPUS, akan RUSAK .

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.