两个人开发一个项目,用的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。但是这样做太麻烦了,正确的做法应该是怎样呢?
Klon adalah penggunaan sekali sahaja, untuk sesiapa sahaja dalam pembangunan seterusnya:
Jika git push gagal:
Syorkan buku ini: http://git-scm.com/book/zh
Masalah di atas boleh diselesaikan dengan menggunakan
git pull
ataugit 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 terbaikgithub: 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
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.
Pembangun 1: git add -> git commit ->
Pembangun 2: git add -> git commit git ->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?