Rumah > Tutorial sistem > LINUX > teks badan

Ketahui lebih lanjut tentang perbezaan antara git fetch dan git pull

王林
Lepaskan: 2024-04-27 21:34:33
ke hadapan
382 orang telah melayarinya

详细了解git fetch与git pull的区别

Kedua-dua git fetch dan git pull boleh mengemas kini repositori jauh kepada yang tempatan Jadi apakah perbezaan di antara mereka. Terdapat beberapa konsep yang perlu disebutkan untuk menjelaskan isu ini.

FETCH_HEAD: Ia adalah pautan versi, direkodkan dalam fail tempatan, menunjuk ke versi akhir cawangan yang telah dikeluarkan dari gudang jauh.
commit-id: Selepas setiap kerja tempatan selesai, operasi git commit akan dilakukan untuk menyimpan kerja semasa ke repo tempatan Pada masa ini, commit-id akan dijana, iaitu nombor siri yang mengenal pasti secara unik versi. Selepas menggunakan git push, nombor siri ini juga akan disegerakkan ke gudang jauh.

Dengan konsep di atas, mari bercakap tentang git fetch
git fetch: Ini akan mengemas kini id komit terkini cawangan yang terkandung dalam semua repositori jauh dalam git remote, dan merekodkannya dalam fail .git/FETCH_HEAD
Cara git fetch mengemas kini repositori jauh adalah seperti berikut:

git fetch origin master:tmp <span class="hljs-comment">
//在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支</span>
git diff tmp <span class="hljs-comment">
//来比较本地代码与刚刚从远程下载下来的代码的区别</span>
git <span class="hljs-built_in">merge</span> tmp<span class="hljs-comment">
//合并temp分支到本地的master分支</span>
git branch -d temp<span class="hljs-comment">
//如果不想保留temp分支 可以用这步删除</span>
Salin selepas log masuk

(1) Jika anda menggunakan git fetch secara langsung, langkah-langkahnya adalah seperti berikut:

  • Buat dan kemas kini cawangan terpencil tempatan. Iaitu, buat dan kemas kini cawangan asal/xxx, dan tarik kod ke cawangan asal/xxx.
  • Tetapkan cawangan-asal/cawangan semasa dalam FETCH_HEAD Jika anda melakukan git merge secara langsung, origin/abc boleh digabungkan ke dalam cawangan abc.

(2)git fetch origin
Hanya tentukan alat kawalan jauh secara manual untuk diambil. Apabila tiada cawangan ditentukan, ia biasanya lalai untuk menguasai

(3)git fetch origin dev
Tentukan jauh dan FETCH_HEAD, dan hanya tarik komit cawangan ini.

git pull: Pertama, berdasarkan rekod FETCH_HEAD setempat, bandingkan rekod FETCH_HEAD setempat dengan nombor versi gudang jauh, kemudian gunakan git fetch untuk mendapatkan data versi berikutnya bagi cawangan terpencil yang ditunjuk pada masa ini, dan kemudian gunakan git merge untuk menggabungkannya dengan Merge cawangan semasa tempatan. Jadi boleh dianggap bahawa git pull adalah gabungan dua langkah git fetch dan git merge.
Penggunaan git pull adalah seperti berikut:

git pull <span class="hljs-tag"><<span class="hljs-title">远程主机名</span>></span> <span class="hljs-tag"><<span class="hljs-title">远程分支名</span>></span>:<span class="hljs-tag"><<span class="hljs-title">本地分支名</span>></span>
//取回远程主机某个分支的更新,再与本地的指定分支合并。
Salin selepas log masuk

Oleh itu, berbanding dengan git pull, git fetch adalah bersamaan dengan mendapatkan versi terkini daripada alat kawalan jauh ke tempatan, tetapi ia tidak akan bergabung secara automatik. Jika anda perlu menggabungkan git fetch secara selektif adalah pilihan yang lebih baik. Apabila kesannya sama, git pull akan menjadi lebih cepat.

Atas ialah kandungan terperinci Ketahui lebih lanjut tentang perbezaan antara git fetch dan git pull. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:linuxprobe.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!