Saya tidak akan mengarsipkan cabang. Dengan kata lain, cabang mengarsipkan diri mereka sendiri. Yang Anda inginkan adalah memastikan informasi yang relevan dengan arkeolog dapat ditemukan dengan cara yang dapat diandalkan. Dapat diandalkan karena mereka membantu pengembangan harian dan tidak menambah langkah ekstra untuk proses menyelesaikan pekerjaan. Artinya, saya tidak percaya orang akan ingat untuk menambahkan tag setelah mereka selesai dengan cabang.
Inilah dua langkah sederhana yang akan sangat membantu arkeologi dan pengembangan.
- Tautkan setiap cabang tugas dengan masalah terkait di pelacak masalah menggunakan konvensi penamaan sederhana .
- Selalu gunakan
git merge --no-ffuntuk menggabungkan cabang tugas; Anda ingin penggabungan komit dan gelembung riwayat, bahkan hanya untuk satu komit.
Itu dia. Mengapa? Karena sebagai seorang arkeolog kode, saya jarang memulai dengan ingin tahu pekerjaan apa yang dilakukan pada cabang. Jauh lebih sering itu sebabnya dalam semua teriakan sembilan neraka adalah kode yang ditulis dengan cara ini ?! Saya perlu mengubah kode, tetapi memiliki beberapa fitur aneh, dan saya perlu memecahkannya untuk menghindari melanggar sesuatu yang penting.
Langkah selanjutnya adalah git blamemenemukan komit terkait dan kemudian berharap pesan log jelas. Jika saya perlu menggali lebih dalam, saya akan mencari tahu apakah pekerjaan itu dilakukan di cabang dan membaca cabang secara keseluruhan (bersama dengan komentarnya di pelacak masalah).
Katakanlah git blamepoin di komit XYZ. Saya membuka browser riwayat Git (gitk, GitX git log --decorate --graph,, dll ...), cari komit XYZ dan lihat ...
AA - BB - CC - DD - EE - FF - GG - II ...
\ /
QQ - UU - XYZ - JJ - MM
Ada dahan saya! Saya tahu QQ, UU, XYZ, JJ dan MM semuanya adalah bagian dari cabang yang sama dan saya harus melihat pesan log mereka untuk detailnya. Saya tahu GG akan menjadi gabungan komit dan memiliki nama cabang yang mudah-mudahan dikaitkan dengan masalah di pelacak.
Jika, karena alasan tertentu, saya ingin menemukan cabang lama yang dapat saya jalankan git logdan mencari nama cabang di komit gabungan. Itu cukup cepat bahkan pada repositori yang sangat besar.
Itulah yang saya maksud ketika saya mengatakan bahwa cabang mengarsipkan diri mereka sendiri.
Memberi tag pada setiap cabang menambahkan pekerjaan yang tidak perlu untuk menyelesaikan sesuatu (proses kritis yang harus dirampingkan tanpa ampun), membuat daftar tag (tidak berbicara tentang kinerja, tetapi keterbacaan manusia) dengan ratusan tag yang hanya sekali-sekali berguna, dan bukankah ' Bahkan sangat berguna untuk arkeologi.
git checkout [rev] file