Rumah  >  Soal Jawab  >  teks badan

团队协作 - 在git flow中如果有人需要我写的feature作为依赖怎么办?

例如,我在开发 feature/user 用户管理模块,提供用户的名称,信息等等, 我的同事在开发 feature/login 登录系统,他需要我的用户模块来检测是否可以登录,获取用户信息等等。

问题1:

假设我已经完成了用户系统,那么怎么给我的同事让他使用?

难道是我先 finish, 同事再 finish, 同事再 start 么?不太现实。

问题2:

假设我没有完成用户系统,但是我完成了同事所需要的内容,那怎么给他使用?

难道是我先 finish, 同事再 finish, 我和同事再 start,分别继续开发么?

这些有什么好的解决方案么?


补充:首先主要是时间太紧张了,一个人肯定写不来,所以要多个人一起,可是多个人又会牵扯依赖问题。所以想知道如何解决这个问题。

伊谢尔伦伊谢尔伦2746 hari yang lalu759

membalas semua(3)saya akan balas

  • 巴扎黑

    巴扎黑2017-05-02 09:30:14

    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;

      balas
      0
  • 高洛峰

    高洛峰2017-05-02 09:30:14

    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

    balas
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-02 09:30:14

    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

    balas
    0
  • Batalbalas