Pertama, beberapa latar belakang, kami sedang dalam proses memindahkan semua tim proyek kami untuk menggunakan git dan sedang dalam proses meletakkan pedoman untuk bagaimana repositori harus diatur sehingga cabang-cabang tertentu juga dapat dimonitor untuk integrasi berkelanjutan dan penyebaran otomatis ke server pengujian. Saat ini ada dua model yang sedang berkembang:
Sangat dipengaruhi oleh artikel nvie.com tentang percabangan yang sukses dengan cabang utama yang mewakili kode paling stabil, cabang pengembangan untuk kode tepi pendarahan, dan cabang integrasi untuk kode yang siap untuk pengujian QA.
Model alternatif di mana cabang utama mewakili kode pengembangan tepi pendarahan, cabang integrasi untuk kode yang siap untuk pengujian QA, dan cabang produksi untuk kode stabil yang siap untuk ditempatkan.
Pada titik ini, ini sebagian merupakan masalah semantik sehubungan dengan apa yang diwakili cabang master, tetapi apakah melakukan pengembangan aktif pada cabang master sebenarnya merupakan praktik yang baik atau apakah itu tidak terlalu relevan?
Jawaban:
Satu-satunya fitur nyata dari
master
cabang adalah bahwa ini adalah default untuk beberapa operasi. Juga, nama-nama cabang hanya memiliki arti dalam repositori tertentu. Sayamaster
mungkin menunjuk ke Andadevelopment
, misalnya. Juga,master
cabang bahkan tidak diperlukan, jadi jika ada kebingungan tentang cabang mana yang seharusnya, saran saya biasanya adalah untuk meninggalkannya sama sekali.Namun, menurut saya, cara terbaik untuk memikirkannya adalah sebagai standar untuk mendorongnya. Kebanyakan tutorial online yang dibaca pengembang Anda akan menganggap itu. Jadi, sangat masuk akal untuk memiliki
master
cabang apa pun yang paling sering didorong. Beberapa orang menganggapnya sebagai salinan asli yang tidak tersentuh bagi pengembang kecuali setelah pengawasan ketat, tetapi menggunakannya dengan cara itu menghilangkan banyak standar membantu git menyediakan. Jika Anda menginginkan cabang murni semacam itu, saya akan meletakkannya di repositori yang benar-benar terpisah yang hanya dapat ditulis oleh beberapa orang.sumber
Tidak, itu tidak disarankan, bahkan di awal sebelum Anda pergi ke QA. Sebagai praktik terbaik, pola pengembangan harus konsisten dari awal hingga akhir. Cabang master Anda harus dimulai dengan kosong, Anda harus memangkas cabang pengembangan Anda dan mulai menambahkan file, bergabung ke cabang integrasi Anda, lalu selanjutnya ke master Anda.
Meskipun tidak ada yang peduli selama pengembangan yang tidak dibangun cabang master, itu cenderung pada kebiasaan buruk sejak dini. Master harus selalu membangun, dan untuk rilis fitur utama juga bukan ide yang buruk untuk memiliki cabang-cabang build besar sehingga titik rilis yang stabil dapat dikembalikan ke jika diperlukan.
sumber