Kerjasama pasukan - Apakah yang perlu saya lakukan jika seseorang memerlukan ciri yang saya tulis sebagai pergantungan dalam aliran git?
伊谢尔伦
伊谢尔伦 2017-05-02 09:28:14
0
3
807

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.

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(3)
巴扎黑

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. :

  1. Nod Git ialah peer-to-peer

  2. Git menyokong ssh, http, fail dan protokol lain

Cadangan saya:

Andaikan John dan Jane bekerjasama dalam projek yang sama;

  • John mencipta demo projek, yang terdapat dalam direktori peribadinya;

    cd /home/John/demo/; 
    git init
    git add .
    git commit;
Jika Jane dan John menggunakan mesin pembangunan yang sama, maka dia boleh mengklonkan kod John terus di rumahnya
  • git clone /home/John/demo/ #Jane应该具有该目录的权限
Kini John boleh terus berkembang, Jane juga boleh terus membangun, dan kedua-duanya boleh terus menyerahkan;
  • git commit #John
    git commit #Jane
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; Jane
    boleh terus menarik semua kemas kini daripada sumber asal ke dalam kodnya sendiri;
git pull --rebase origin

  • 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;

  • git remote add jane /home/Jane/demo/
    git pull --rebase 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 dalam feature/user_login
    supaya feature/user_login boleh Menguji terus
    Apabila feature/user_login dibangunkan, gabungkannya menjadi feature/user
    dan akhirnya finish feature/user

    Ini adalah untuk membangunkan feature/user_login sebagai sub-fungsi feature/user
    Jika fungsi tidak direka bentuk seperti ini, adalah lebih baik untuk membangunkan feature/user selepas finish feature/login

    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan