Menggunakan git dengan benar di tim kecil

14

Apa cara termudah untuk menggunakan git dengan benar dalam tim kecil yang terdiri dari sekitar 5 pengembang, dengan satu server menjalankan aplikasi langsung?

ONOZ
sumber
5
Saya akan mempertanyakan menggunakan git dalam kasus ini. Tidak ada keuntungan menggunakan kontrol sumber terdesentralisasi, ketika Anda memiliki semua orang di satu ruangan dengan satu server khusus. Dan masih ada overhead menarik / mendorong di atas komitmen.
Euforia
10
@ Euforia tergantung pada perkakas dan alur kerja Anda.
3
@ONOZ tolong jelaskan cara kerja Anda saat ini secara lebih rinci.
22
@Ehhoric - Sikap yang sangat sempit. Untuk kemudahan percabangan dan penggabungan saja gitatau hgmengalahkan VCS paling terpusat. Saya dapat memahami bahwa orang-orang merasa kesal pada orang-orang yang terus-menerus mengomel tentang betapa hebatnya DVCS, tetapi mengubur kepala Anda di pasir dan menolak untuk mengakui bahwa Anda dapat mengembangkan alur kerja yang berbeda dan mungkin lebih efisien dengan DVCS daripada tanpa satu sama buruknya.
Mark Booth
8
@ Euphoric, menggunakan Git tidak berarti kontrol sumber Anda "terdesentralisasi". Saya bekerja di tim kecil, dan kami menggunakan Git, dan kami masih memiliki repositori pusat. Itulah yang Anda dorong. Menggunakan DVCS biasanya tidak berarti setiap orang menarik dari setiap orang lain tanpa titik pusat.
Kyralessa

Jawaban:

11

Saya sarankan Anda untuk membuat beberapa cabang:

  • produksi
  • menguasai
  • lokal

Cabang produksi adalah cabang "hidup". Apakah aplikasi sedang digunakan sekarang.

Saat pembaruan diperlukan, pengembang dapat menarik cabang utama ke cabang lokal. Daripada, bisa mulai kode. Pada akhirnya, cukup tarik dan dorong dari cabang pengembang lokal ke master. Seorang manajer proyek dapat melihat di cabang utama. Menguji. Dan ketika siap, dapat menggabungkan produksi dengan master. Dan sekarang Anda akan memiliki perangkat lunak baru.

sensorario
sumber
Jika Anda berada dalam situasi konsultasi atau perusahaan, Anda mungkin juga ingin memiliki cabang untuk UAT.
John MacIntyre
Setuju, saya menggunakan alur kerja ini.
Cheung
Bisakah Anda menguraikan mengapa perbedaan antara cabang lokal dan master? Saya dapat melihat mengapa Anda ingin memiliki versi produksi yang berfungsi, tetapi ketika Anda menarik / mendorong perubahan itu akan secara otomatis bergabung bahkan tanpa cabang lokal, kan?
Luc
1
Karena cabang lokal dapat dinamai sebagai nama-XXX, maka Anda memiliki cabang utama sebagai gabungan dari semua cabang fitur yang Anda inginkan dalam produksi. Ya: karena beberapa fitur mungkin tidak disertakan.
sensorario
7

Mulai yang sederhana dan bangun hingga alur kerja yang lebih kompleks seperti dan ketika Anda perlu.

Apa pun yang Anda lakukan, jangan biarkan model percabangan Git yang sukses menjadi hal pertama yang dilihat orang, itu hanya akan membingungkan dan membuat mereka kewalahan. Lihat ini nanti ketika Anda memiliki lebih banyak pengalaman.

Saya menyarankan agar Anda mulai dengan gitrepositori pusat dan meminta semua orang, termasuk kloning produksi dan pengujian Anda.

Di dalam repositori git Anda, buat productioncabang dan testcabang.

Pengembang harus bekerja di cabang fitur lokal atau jauh sendiri sampai selesai dan digabung master. Dari sini mereka dapat digabung ke testcabang untuk ditempatkan ke lingkungan pengujian dan ketika mereka lulus tes mereka dapat digabung ke productioncabang.

Dengan begitu Anda selalu dapat melihat apa yang baru dan belum teruji, apa yang diuji tetapi belum digunakan untuk produksi dan apa yang sebenarnya ada di produksi.

Mark Booth
sumber
Pendapat menarik, saya akan mempertimbangkan dengan git bercabang model yang menjadi deal breaker untuk git, di sisi lain itu mungkin tidak begitu jelas bagi pengguna non-git.
wirrbel
@wirrbel ada hal-hal seperti itu git bercabang Model, Anda dapat menerapkan apa pun yang bercabang model yang Anda inginkan menggunakan gitsesuai alur kerja Anda. Yang saya sarankan di sini sederhana dan cenderung lebih baik untuk gitpengguna yang tidak berpengalaman daripada model percabangan Git yang sukses tetapi AsGbm cenderung lebih baik untuk gitpengguna yang lebih berpengalaman , tetapi tidak begitu cocok untuk beberapa tim (orang yang ingin mempertahankan beberapa rilis cabang misalnya). Seperti yang saya katakan, masalah dengan AsGbm adalah ia bisa terlihat terlalu rumit.
Mark Booth
Saya mengerti maksud Anda. Hanya untuk saya, saya mulai dengan AsGbm (atau lebih tepatnya menyesuaikannya dengan kebutuhan saya). Itu sempurna karena saya bisa melihat bagaimana git dapat digunakan secara berbeda dari svn
wirrbel
7

Kami memiliki situasi yang sama - kecuali kami memiliki puluhan aplikasi web, bukan satu. Kami telah berhasil menggunakan model percabangan Git yang berhasil selama sekitar setahun terakhir tanpa keluhan yang berarti.

Wyatt Barnett
sumber
Saya juga menggunakan ini untuk membuat model percabangan dalam beberapa tahun terakhir. Ini model yang fantastis.
John MacIntyre
Jempol untuk tautan
Rahul Gautam
0

Anda harus memiliki satu repositori master di server integrasi dan setiap pengembang harus mengkloningnya. Setelah itu tarik dan dorong. Kembangkan fitur-fitur besar baru di cabang terpisah. Tidak ada ilmu roket di sini. Di server langsung - Anda juga harus mengkloning master repositori. Dan itu praktik yang baik untuk memiliki cabang seperti "hidup" untuk itu.

Nikolay Fominyh
sumber
2
arsip git adalah opsi lain untuk digunakan di server langsung dengan asumsi bahwa Anda tidak benar-benar ingin langsung mengedit barang-barang di server langsung
jk.