Sebagai contoh, saya sedang membangunkan feature/user
modul pengurusan pengguna untuk memberikan nama pengguna, maklumat, dsb., dan rakan sekerja saya sedang membangunkan sistem log masuk feature/login
Dia memerlukan modul pengguna saya untuk mengesan sama ada dia boleh log dalam dan mendapatkan maklumat pengguna dsb.
Soalan 1:
Dengan mengandaikan bahawa saya telah melengkapkan sistem pengguna, bagaimanakah saya boleh memberikannya kepada rakan sekerja saya untuk dia gunakan?
Perlukah saya katakan finish
dahulu, kemudian rakan sekerja saya finish
, dan kemudian rakan sekerja saya start
? Tak realistik sangat.
Soalan 2:
Andaikan saya belum melengkapkan sistem pengguna, tetapi saya telah melengkapkan apa yang diperlukan oleh rakan sekerja saya, bagaimana saya boleh membenarkan dia menggunakannya?
Mungkinkah saya finish
dahulu, rakan sekerja saya finish
seterusnya, dan rakan sekerja saya start
meneruskan pembangunan secara berasingan?
Adakah terdapat sebarang penyelesaian yang baik untuk ini?
Suplemen: Pertama sekali, sebab utama ialah masa terlalu ketat Satu orang pasti tidak akan dapat menulisnya, jadi berbilang orang perlu bekerjasama, tetapi berbilang orang akan melibatkan isu pergantungan. Jadi tertanya-tanya bagaimana untuk menyelesaikan masalah ini.
Memandangkan anda tidak menyebut sama ada anda sedang membangun di bawah projek yang sama; Saya akan menganggap bahawa anda sedang mengerjakan projek yang sama Sebelum menerangkan maksud saya, sila lihat perkara berikut untuk mengetahui sama ada anda jelas mereka. :
Nod Git ialah peer-to-peer
Git menyokong ssh, http, fail dan protokol lain
Cadangan saya:
Andaikan John dan Jane bekerjasama dalam projek yang sama;
-
Jika Jane dan John menggunakan mesin pembangunan yang sama, maka dia boleh mengklonkan kod John terus di rumahnyaJohn mencipta demo projek, yang terdapat dalam direktori peribadinya;
-
Kini John boleh terus berkembang, Jane juga boleh terus membangun, dan kedua-duanya boleh terus menyerahkan;-
Memandangkan Jane mengklon terus kod John, git secara semula jadi merekodkan alamat pembangun lain dalam direktori Jane, dan kandungan khusus adalah dalam .git/config ialah asal; Janeboleh terus menarik semua kemas kini daripada sumber asal ke dalam kodnya sendiri;
Persoalannya, bagaimana jika John juga memerlukan kod Jane Memandangkan projek git John tidak mempunyai maklumat nod pembangunan lain, dia perlu menambahnya secara manual, dia boleh menambahnya di; bila-bila masa Tarik kemas kini Jane;
Kini John dan Jane boleh menarik kod satu sama lain ke dalam folder mereka sendiri dengan gembira;
Saya rasa keperluan ini bercanggah dari segi pembahagian kerja
Sesuatu modul sangat bergantung pada modul lain dan mesti menunggu
Jadi perhalusi keperluan anda
Selepas modul Pengguna selesai, anda boleh menyerahkannya
Pada masa ini, cabang modul anda dan teruskan
Rakan sekerja anda cawangan modulnya dan teruskan
Ini adalah prosedur standard
Terdapat konsep yang dipanggil penyepaduan berterusan Lebih awal operasi penyepaduan dijalankan, lebih baik untuk kod anda
Konsep yang memanjang ke bawah dipanggil penghantaran berterusan untuk mengatasi persekitaran ini kepada
Untuk situasi ini saya cadangkan kaedah ini:
Buka cawangan baharu daripada cawangan
feature/user
feature/user_login
Apabila pembangunan
feature/user
memasuki peringkat yang boleh digunakan, gabungkan kod ke dalamfeature/user_login
supaya
feature/user_login
boleh Menguji terusApabila
feature/user_login
dibangunkan, gabungkannya menjadifeature/user
dan akhirnya
finish
feature/user
Ini adalah untuk membangunkan
feature/user_login
sebagai sub-fungsifeature/user
Jika fungsi tidak direka bentuk seperti ini, adalah lebih baik untuk membangunkan
feature/user
selepasfinish
feature/login