Apakah praktik yang baik untuk memiliki cabang jarak jauh untuk setiap pengembang?


11

Apakah dianggap praktik yang baik untuk memiliki cabang jarak jauh untuk setiap pengembang individu dalam proyek?

Kami menggunakan Git dengan cabang-cabang berikut:

  • menguasai
  • melepaskan
  • mengembangkan

Jika setiap pengembang memiliki cabang sendiri, mereka bisa memasukkan kode ke cabang mereka dan yang lain bisa menggabungkan perubahan ini ke cabang mereka sendiri.


1
Mengingatkan saya pada ruang kerja Accurev, kecuali tidak terikat pada alamat MAC mesin tertentu. Saya suka itu.
Brandon


1
Mengapa nat memiliki cabang unik untuk setiap fitur baru yang ditambahkan?
Martin York

@Loki Ya .. itu ide yang bagus ..
balanv

Jawaban:


4

Tidak! Ini adalah praktik yang baik untuk memiliki namespace cabang jarak jauh untuk setiap pengembang.

Satu cabang saja seringkali tidak cukup, sehingga pengembang akhirnya akan sering memutarnya atau tidak akan banyak membantu. Anda lebih suka mengatakan bahwa pengembang dapat mendorong apa pun yang mereka inginkan di bawah nama mereka/ . Mereka dapat menggunakannya untuk menerbitkan versi pratinjau untuk orang lain, memberikan versi untuk diuji orang lain atau bahkan untuk orang lain untuk diintegrasikan.

Anda dapat menggunakan ini juga untuk memberikan cabang ke integrator atau Anda dapat menggunakan nama berbasis tugas. Nama berbasis tugas biasanya lebih mudah dilacak untuk integrator, tetapi membuat pengembang lebih memikirkan penamaan dan orang tidak suka berpikir. Saya tidak tahu mana yang akan bekerja lebih baik dalam praktik; bahkan mungkin tergantung pada tim tertentu.


2

Saya mungkin tidak akan memberikan masing-masing pengembang cabang di server pusat kecuali jika Anda memiliki semacam infrastruktur gaya github yang memungkinkan mereka untuk membuat dan menghancurkan cabang itu sendiri dan dengan jelas mendokumentasikan untuk apa mereka. Beberapa pengembang akan membutuhkan lebih dari satu cabang dan beberapa tidak membutuhkan sama sekali, tetapi Anda membuat kekacauan untuk semua orang untuk memilah-milah dan overhead administrasi untuk Anda sendiri.

Saya akan mendorong bukan jenis berbagi organik git unggul di. Sangat mudah untuk membuat tiruan kosong di komputer Anda sendiri, dan menjadikan folder itu bagian SMB yang hanya bisa dibaca oleh orang lain. Bahkan, akan sangat mengejutkan saya jika beberapa pengembang Anda belum melakukan ini.


1
Secara default semua orang selalu dapat membuat cabang. Github memungkinkan membuat seluruh repositori, tetapi itu berlebihan dalam hal ini.
Jan Hudec

1

Itu tergantung pada bagaimana tim pengembangan dan tugas Anda diatur. Menurut pendapat saya, model yang Anda tentukan akan bekerja paling baik jika:

  1. Setiap pengembang mengerjakan tugas-tugas independen sendiri.
  2. Semua pengembang berkontribusi pada tugas yang sama.

Di mana ini mungkin tidak bekerja dengan baik adalah jika Anda memiliki proyek fitur bersamaan dalam pengembangan dan mereka masing-masing memiliki beberapa pengembang yang mengerjakannya.


1

Memberi masing-masing pengembang cabang mereka sendiri dapat membantu jika mereka semua mengerjakan hal-hal berbeda yang mungkin menyentuh file yang sama. Ini dapat membantu mencegah saling menginjak jari kaki, tetapi akan mengharuskan setiap orang untuk sering bergabung dan bertanggung jawab saat mengelola konflik. Ini adalah apa yang dilakukan di kantor saya dan berfungsi dengan baik terlepas dari hari langka Anda harus menggabungkan setengah file yang Anda edit secara manual.

Jika Anda memiliki banyak pengembang yang bekerja pada fitur yang sama, mungkin lebih baik untuk membuat cabang berdasarkan fitur yang sedang dikembangkan daripada pengembang.


1

Jika Anda bekerja dengan Git, Anda harus mencoba Tarik Permintaan.

Singkatnya, Anda pertama-tama menggabungkan cabang master ke cabang kerja Anda saat ini. Konflik gabungan apa pun akan ada di cabang lokal Anda. Ini bagus karena cabang utama Anda tidak pernah rusak. Jika Anda benar-benar gagal, Anda memiliki komit lokal yang dapat Anda kembalikan.

Setelah Anda menyelesaikan penggabungan, Anda meminta orang lain di tim untuk meninjau dan menggabungkan cabang Anda ke cabang utama. Jangan pernah menggabungkan milik Anda sendiri! Selama tidak ada yang menyelinap masuk dan melakukan Permintaan Tarik lainnya, Anda dijamin akan berhasil bergabung. Karena semua orang mengetahui Permintaan Tarik, Anda seharusnya tidak memiliki banyak orang yang bergabung menjadi master pada saat yang sama.

Setelah Anda terbiasa dengan proses ini, Anda harus mencoba untuk menggabungkan sesering mungkin - semacam integrasi berkelanjutan dari orang miskin. Semakin sedikit waktu antar konflik, semakin baik. Anda akan mengidentifikasi ketika dua orang menggandakan upaya dan mereka dapat bekerja sama. Beberapa tempat akan bergabung setiap kali mereka menyelesaikan persyaratan, yang bisa setiap jam pasangan. Saya merekomendasikan penggabungan setidaknya seminggu sekali; jika tidak, Anda harus menyelesaikan tugas Anda dengan lebih baik.

Saya biasanya membuat satu cabang per tugas. Git bagus karena membedakan antara komit dan dorongan lokal. Ini memberikan beberapa manfaat dari setiap orang yang memiliki cabang sendiri tanpa semua kerumitan.

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.