Singkatnya: Praktik terbaik adalah bercabang, sering bergabung, dan selalu sinkron .
Ada beberapa konvensi yang cukup jelas tentang menjaga kode Anda di cabang terpisah dari cabang utama:
- Anda akan membuat implementasi perubahan besar atau mengganggu
- Anda akan membuat beberapa perubahan yang mungkin tidak digunakan
- Anda ingin bereksperimen pada sesuatu yang Anda tidak yakin itu akan berhasil
- Ketika Anda disuruh keluar, orang lain mungkin memiliki sesuatu yang perlu mereka lakukan sebagai master
Aturan praktis adalah setelah bercabang, Anda harus tetap sinkron dengan cabang utama. Karena pada akhirnya Anda perlu menggabungkannya kembali menjadi master. Untuk menghindari kekacauan rumit yang rumit ketika menggabungkan kembali, Anda harus sering melakukan, sering bergabung.
Praktik yang baik untuk diikuti
Model percabangan Git yang sukses oleh Vincent Driessen memiliki saran bagus. Jika model percabangan ini menarik bagi Anda, pertimbangkan ekstensi aliran ke git . Yang lain berkomentar tentang aliran .
Praktik pemberian tag
Seperti yang sudah Anda ketahui, Git memberi Anda pengidentifikasi komit seperti 1.0-2-g1ab3183 tetapi itu bukan tag! Pemberian tag dilakukan dengan tag git, dan tag yang dibuat menggunakan tag git adalah dasar untuk pengidentifikasi komit yang dijelaskan git. Dengan kata lain, di Git Anda tidak menandai cabang. Anda menandai komitmen. Benar untuk mengatakan bahwa tag hanyalah sebuah penunjuk beranotasi untuk sebuah komit.
Mari kita lihat contoh praktis yang menunjukkannya,
/ - [v1.0]
v
---. ---. --- .--- S ---.--- A <- master
\
\ -.--- B <- tes
Mari kita komit 'S' menjadi komit ditunjukkan oleh tag 'v1.0'. Komit ini ada di 'master' cabang dan di 'tes' cabang. Jika Anda menjalankan " git menggambarkan " di atas komit 'A' (atas cabang 'master') Anda akan mendapatkan sesuatu seperti v1.0-2-g9c116e9
. Jika Anda menjalankan "git menggambarkan" di atas komit 'A' (alias cabang 'tes') Anda akan mendapatkan sesuatu seperti v1.0-2-g3f55e41
, itu adalah kasus dengan konfigurasi default git-uraikan. Perhatikan bahwa hasil ini sedikit berbeda. v1.0-2-g9c116e9
berarti bahwa kami sedang berkomitmen dengan id SHA-1 yang diurutkan 9c116e9
, 2 komit setelah tag v1.0
. Tidak ada tag v1.0-2
!
Jika Anda ingin tag Anda hanya muncul di 'master' cabang, Anda dapat membuat komit baru (mis. Hanya memperbarui informasi versi default / cadangan di GIT-VERSION-FILE) setelah titik percabangan dari cabang 'test'. Jika Anda menandai komit pada cabang 'test' dengan mis. 'V1.0.3` itu akan terlihat hanya dari' test '.
Referensi
Saya telah menemukan banyak, banyak, blog dan posting yang bermanfaat untuk dipelajari. Namun, yang diilustrasikan secara profesional adalah yang langka. Jadi, saya ingin merekomendasikan post - Model percabangan Git yang sukses oleh @nvie. Saya sudah meminjam ilustrasinya :)
Cabang digunakan jika Anda memiliki 2 versi repositori yang berbeda secara bersamaan. Tag adalah cara untuk menandai titik waktu di repositori Anda.
Anda harus menambahkan tag untuk menandai versi yang dirilis. Jika kemudian Anda perlu melakukan perbaikan bug untuk rilis itu, Anda akan membuat cabang di tag.
Anda hanya ingin menghapus cabang yang telah digabungkan kembali ke dalam HEAD [atau cabang lain].
sumber