Saya baru mula belajar git dan saya ada soalan.
Kedua-dua Little A dan Little B mengklon versi terbaharu daripada git jauh.
Kedua-dua orang mengubah suai kod secara setempat.
Little A menyerahkan kod terlebih dahulu.
Apakah yang akan berlaku jika Little B menyerahkan kod itu semula?
Adakah kod yang diserahkan oleh Little A akan ditimpa atau tidak dibenarkan untuk diserahkan?
Jawab soalan dahulu:
Little A menyerahkan kod terlebih dahulu, dan perpustakaan jauh dan perpustakaan tempatan Little A disegerakkan, dengan anggapan ia adalah 0 -> a
Pada masa ini, perpustakaan tempatan Little B ialah 0 -> perpustakaan jauh lebih tinggi daripada perpustakaan tempatan Jika perpustakaan lebih baharu, git akan menolak untuk menolak dan melaporkan ralat.
Git akan meminta git pull untuk mengemas kini perpustakaan tempatan, dan operasi tarik adalah bersamaan dengan operasi ambil dan gabung automatik Ia akan cuba menggabungkan perpustakaan jauh secara automatik ke dalam perpustakaan tempatan, dan kemudian memerlukan penggabungan manual apabila ada konflik.
Little B akan digesa untuk menarik kod terlebih dahulu Jika baris kod yang diubah suai oleh Little B adalah sama dengan Little A, konflik akan digesa pada baris fail tersebut secara manual. Jika pengubahsuaian berbeza, Git akan menggabungkan kod yang berkaitan secara automatik
Jika anda telah menukar tempat yang berbeza, anda boleh bergabung secara langsung Jika anda telah menukar tempat yang sama, git akan meletakkan dua versi kod secara automatik ke dalam fail dan menunggu anda memilih
Little B mula-mula menarik balik kod Little A, kemudian menggabungkannya, dan kemudian menyerahkannya semula.
Selepas setiap pembangunan selesai, mula-mula tambah komit dan kemudian tarik kod jauh Jika terdapat konflik, selesaikan secepat mungkin dan kemudian, saya bercakap tentang tidak mempertimbangkan cawangan
Terdapat tabiat yang saya rasa bagus Setiap kali anda menghantar kod, anda harus menarik dahulu dan kemudian menolak ralat untuk menyelesaikan konflik, ini adalah masalah kod dilaporkan, fail akan Dipaparkan dalam warna merah, terdapat garis pemisah yang atas adalah kod orang lain, dan yang bawah adalah kod anda sendiri.
Saya mabuk apabila saya melihat tajuk itu Memandangkan ia adalah konflik, ia mesti diselesaikan secara manual.
Alat tidak dapat menentukan cara menggabungkan kod, jadi akan berlaku konflik. Jika Git boleh menyelesaikan konflik dengan sendirinya, orang tidak perlu menulis kod.
Apabila menyerahkan kod, Xiao B harus terlebih dahulu git pull untuk mengemas kini kod Jika terdapat percanggahan dalam kod, ralat yang serupa akan muncul:
Pada masa ini, git memerlukan anda mengubah suai konflik secara manual terlebih dahulu, mencari fail yang digesa, dan """" akan muncul di bahagian bercanggah untuk memisahkan bahagian kod yang perlu diubah suai awak pilih.
Git tidak akan menyelesaikan konflik dengan sendirinya, tetapi hanya akan cuba menggabungkan patch Jika git mendapati bahawa dua patch telah mengubah suai kandungan yang sama, ia akan menggunakan <<<<<<> ;>>>>> untuk memaparkan konflik dan kemudian menyelesaikannya.
Jika pengubahsuaian kod anda kecil, anda boleh menyalin salinan dan menampalnya.