Git pull akan menulis ganti kod yang diubah suai setempat, tetapi hanya jika terdapat percanggahan antara kod tempatan dan kod jauh. Untuk mengelakkan pengubahsuaian tempatan daripada ditulis ganti, kami boleh menyerahkan pengubahsuaian tempatan, menyimpan pengubahsuaian tempatan atau melumpuhkan penggabungan automatik.
1. Peranan git pull
Sebelum membincangkan secara mendalam sama ada git pull akan menimpa pengubahsuaian tempatan, kita perlu terlebih dahulu memahami peranan daripada git pull .
Git pull ialah gabungan dua arahan git fetch dan git merge Ia akan menarik kod terkini dari gudang jauh dan kemudian menggabungkannya dengan kod tempatan.
2. Gelagat git pull
Gelagat sebenar git pull bergantung pada konfigurasi git semasa dan konflik kod.
1. Lalai
Secara lalai, jika tiada konflik antara kod tempatan dan kod jauh, git pull akan berjaya melakukan gabungan kod dan tidak akan menimpa pengubahsuaian setempat.
git pull
2. Konflik kod jauh
Jika kod dalam gudang jauh bercanggah dengan kod tempatan, maka git pull akan cuba menggabungkan perbezaan secara automatik, tetapi tiada jaminan kejayaan.
Jika gabungan automatik gagal, git pull akan menggesa anda menyelesaikan konflik secara manual sebelum melakukan perubahan.
git pull Auto-merging file1.txt CONFLICT (content): Merge conflict in file1.txt Automatic merge failed; fix conflicts and then commit the result.
3. Konflik kod setempat
Jika anda mengubah suai kod secara setempat tetapi tidak menyerahkannya, git pull akan menimpa pengubahsuaian setempat anda.
Dalam kes ini, git pull akan menggesa anda bahawa terdapat konflik setempat, membolehkan anda menyerahkan pengubahsuaian setempat atau menyimpan pengubahsuaian setempat dahulu, dan kemudian melakukan gabungan kod.
git pull error: Your local changes to file1.txt would be overwritten by merge. Aborting. Please commit your changes or stash them before you merge.
3. Elakkan pengubahsuaian tempatan ditimpa
Untuk mengelakkan pengubahsuaian tempatan ditimpa, kami boleh mengambil kaedah berikut:
1
Cara yang disyorkan ialah menyerahkan pengubahsuaian setempat dan kemudian menggabungkan kod.git add . git commit -m "my local changes" git pull2. Simpan pengubahsuaian tempatanJika anda tidak mahu menyerahkan pengubahsuaian tempatan, anda boleh menggunakan perintah git stash untuk cache pengubahsuaian setempat.
git stash save "my local changes" git pull git stash pop3. Lumpuhkan penggabungan automatikDalam sesetengah kes, penggabungan automatik boleh membawa kepada hasil yang tidak dapat diramalkan. Anda boleh melumpuhkan penggabungan automatik secara paksa apabila melaksanakan arahan git pull.
git pull --no-merge4. RingkasanGit pull akan menimpa kod yang diubah suai secara setempat, tetapi hanya apabila terdapat percanggahan antara kod tempatan dan kod jauh. Untuk mengelakkan pengubahsuaian tempatan ditimpa, kami boleh menyerahkan pengubahsuaian tempatan, menyimpan pengubahsuaian tempatan atau melumpuhkan penggabungan automatik.
Atas ialah kandungan terperinci Adakah git pull akan menimpa kod yang diubah suai secara tempatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!