Rumah  >  Soal Jawab  >  teks badan

Git协作开发提交合并问题

两个人开发一个项目,用的Git做版本控制,两个人同时都有代码要提交到已有的远端仓库里面,这个步骤应该是怎样的呢?

例如下面一个场景该如何处理?(只用了一个分支master)

开发人员1:git clone ...
开发人员2:git clone ...
开发人员1:编码...
开发人员2:编码...
开发人员1:git add -> git commit -> git push (ok)
开发人员2:git add -> git commit -> git push (失败!)

当一个人push成功后,另一个人再push就不可以了。 现在我们的处理办法是,开发人员2重新Clone一次,手动增加代码,再提交,push。但是这样做太麻烦了,正确的做法应该是怎样呢?

PHP中文网PHP中文网2738 hari yang lalu679

membalas semua(5)saya akan balas

  • PHPz

    PHPz2017-04-22 09:01:27

    Klon adalah penggunaan sekali sahaja, untuk sesiapa sahaja dalam pembangunan seterusnya:

    • Ubah suai kod
    • git add, git commit
    • git push

    Jika git push gagal:

    • git pull
    • Gabungkan perubahan secara automatik Jika ia tidak boleh digabungkan secara automatik, gabungkannya secara manual dan kemudian git coomit
    • git push

    Syorkan buku ini: http://git-scm.com/book/zh

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-22 09:01:27

    Masalah di atas boleh diselesaikan dengan menggunakan git pull atau git fetch Jika anda ingin menggunakan git dengan lebih baik, Adalah disyorkan untuk menggunakan Git Flow, yang merupakan metodologi model cawangan Git yang sangat baik. Pematuhan penuh terhadap set peraturan ini boleh mengelakkan masalah biasa dan membawa pengalaman pembangunan yang lancar. Ini boleh dikatakan amalan terbaik

    github: https://github.com/nvie/gitflow

    Artikel berkaitan: Mula berlatih git-flow http://www.jeffkit.info/2010/12/842/
    Proses pembangunan aliran Git http://ihower.tw/blog/archives/5140/
    http://nvie.com/posts/a-successful-git-branching-model/
    Strategi pengurusan cawangan Git http://www.ruanyifeng.com/blog/2012/07/git.html
    aliran git dan aliran github http://hooopo.writings.io/articles/fe2b0791

    balas
    0
  • 高洛峰

    高洛峰2017-04-22 09:01:27

    Beritahu saya dua kelemahan pendekatan anda.
    1. Hanya ada satu versi induk. Biasanya kami mempunyai dua versi, versi induk dan versi kerja. Versi induk adalah bersamaan dengan versi rasmi Pada asasnya, berpuluh-puluh fail dikemas kini bersama setiap kali ia dikemas kini. Versi kerja adalah bersamaan dengan versi ujian, dan adalah perkara biasa untuk mengemas kininya 20 kali sehari.
    2. Anda menyebut bahawa dua orang, a dan b, mengemukakan soalan pada masa yang sama. Dalam keadaan biasa, a harus diserahkan, dan kemudian b akan menggabungkan (mencantumkan) penyerahan a, pertama menguji sama ada projek anda masih boleh berfungsi seperti biasa secara tempatan, dan akhirnya b akan diserahkan.
    Perkara kedua ialah jiwa git, dan ia juga sesuatu yang tidak biasa digunakan oleh ramai orang. Manfaat terbesar reka bentuk git ialah ia memastikan setiap versi yang diserahkan boleh dijalankan, supaya tidak kira anda memadamkan versi tertentu, tidak akan ada masalah pada keseluruhan baris kemas kini. Kerana versi masa hadapan masih boleh dijalankan.
    Oleh itu, terdapat prasyarat lalai untuk menggunakan git Pertama, versi yang dikemukakan oleh semua orang harus berjalan dengan betul pada mesin mereka sendiri. Apa yang saya bincangkan di sini tentang berjalan dengan betul bukan hanya kod yang saya ubah suai, tetapi juga kod selepas menggabungkan kemas kini orang lain. Dengan kata lain, setiap penyerahan sebenarnya adalah ujian integriti. Sesiapa yang membangunkan tahu bahawa konfigurasi persekitaran awal sangat diperlukan untuk mana-mana projek Jika projek tidak dapat dijalankan semasa pembangunan, pada dasarnya tidak perlu mengubah suai kod. Oleh itu, adalah sangat perlu untuk mengekalkan integriti projek.

    balas
    0
  • PHP中文网

    PHP中文网2017-04-22 09:01:27

    Pembangun 1: git add -> git commit ->

    Pembangun 2: git add -> git commit git ->

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-22 09:01:27

    Dua orang tidak tahu proses paling asas git, dan mereka tidak tahu cara membaca mesej ralat yang diberikan git apabila menghadapi masalah Bagaimana mereka memilih untuk menggunakan git pada mulanya? Adakah anda mengikuti orang ramai?

    balas
    0
  • Batalbalas