Rumah  >  Artikel  >  Adakah git pull akan menimpa kod yang diubah suai secara tempatan?

Adakah git pull akan menimpa kod yang diubah suai secara tempatan?

zbt
zbtasal
2023-06-20 17:13:449267semak imbas

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.

Adakah git pull akan menimpa kod yang diubah suai secara tempatan?

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 pull

2. Simpan pengubahsuaian tempatan

Jika 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 pop

3. Lumpuhkan penggabungan automatik

Dalam 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-merge

4. Ringkasan

Git 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:arahan kod tarik tarik gitArtikel seterusnya:arahan kod tarik tarik git