Saya sedang mengerjakan proyek saat ini, dan kami memiliki kode sumber di repositori pribadi di Github, dengan masing-masing dari kami sebagai kolaborator.
Yang tidak jelas adalah bagaimana memisahkan masing-masing pekerjaan kita.
Apa yang saya pikir perlu kita lakukan adalah:
- Kita masing-masing perlu mengayun repositori
- Ketika kami siap untuk mendorong kode kami, kami kemudian mengirimkan permintaan tarik ke repo pemimpin proyek, yang pada saat yang sama dapat menggunakan ini sebagai kesempatan untuk melakukan tinjauan kode
Ketika datang ke repositori pribadi, apakah ini yang seharusnya digunakan untuk percabangan, atau apakah saya terlalu memperumit situasi?
Jawaban:
Mengkloning repo ke mesin lokal pengembang sudah semacam forking. Jika setiap pengembang membuat repo di GitHub, ini hanya berfungsi untuk mempublikasikan kondisi kerja mereka saat ini.
Ini bisa tepat ketika ada master master repo, dan banyak kontributor yang tidak dipercaya dengan akses langsung ke repo itu. Ini sangat bagus untuk proyek-proyek sumber terbuka di mana setiap orang dapat berkontribusi dan mengeluarkan permintaan tarik yang kemudian ditinjau dan digabung oleh sekelompok pengelola inti. Menggunakan beberapa repo memberlakukan alur kerja berbasis permintaan-tarik.
Dalam tim kecil yang tepercaya, ini tidak perlu. Untuk mencegah orang yang berbeda saling menghalangi, strategi seperti Git Flow dapat diikuti: Setiap fitur kecil diimplementasikan pada cabang fitur yang terpisah. Ketika fitur selesai, itu digabung ke cabang master. Sebagian besar tim akan memasangkan ini dengan permintaan tarik atau ulasan kode oleh konvensi, tetapi cukup dipercaya untuk melewati itu jika sesuai. Sementara repo yang terpisah akan menyebabkan pengembang menerbitkan keadaan mereka saat ini pada repo yang bercabang tetapi terlihat oleh tim, dalam satu repo umum mereka akan mendorong perubahan mereka ke cabang fitur yang terpisah. Melakukan semua pengembangan pada master / trunk sangat tidak dianjurkan di sebagian besar alur kerja.
Perbedaannya akhirnya semata-mata tentang manajemen akses, dan tidak begitu banyak tentang alur kerja yang diterapkan. Anda dapat melakukan alur kerja berbasis permintaan-tarik dengan salah satu pengaturan. Dari perspektif mentah Git, tidak ada banyak perbedaan antara garpu dan cabang - salah satu pendekatan pada dasarnya berbagi sejarah proyek dan memungkinkan komitmen ditambahkan tanpa mempengaruhi cabang / garpu lain. Mempertimbangkan hal ini, akan jauh lebih baik untuk membagikan satu repo ketika berada dalam grup tepercaya dan tertutup.
sumber
Ini akan berhasil, atau Anda dapat menggunakan metode percabangan di mana masing-masing contrib memiliki cabang mereka sendiri, sehingga ketika tim setuju, digabung dengan master.
sumber