git pull
adalah arahan Git yang digunakan untuk mengemas kini versi repositori tempatan dari alat kawalan jauh.
Ini adalah salah satu daripada empat perintah yang mendorong interaksi rangkaian oleh Git. Secara lalai, git pull
melakukan dua perkara.
- Mengemas kini cawangan kerja tempatan semasa (cawangan yang sedang diperiksa)
- Mengemas kini cawangan pengesanan jarak jauh untuk semua cawangan lain.
git pull
mengambil ( git fetch
) komit baru dan menggabungkan ( git merge
) ke cawangan tempatan anda.
Sintaksis perintah ini adalah seperti berikut:
# General format git pull OPTIONS REPOSITORY REFSPEC # Pull from specific branch git pull REMOTE-NAME BRANCH-NAME
di mana:
- PILIHAN adalah pilihan arahan, seperti
--quiet
atau--verbose
. Anda boleh membaca lebih lanjut mengenai pelbagai pilihan dalam dokumentasi Git - REPOSITORY adalah URL ke repo anda. Contoh: //github.com/freeCodeCamp/freeCodeCamp.git
- REFSPEC menentukan rujukan mana yang akan diambil dan rujukan tempatan mana yang akan dikemas kini
- REMOTE-NAME adalah nama repositori jauh anda. Contohnya: asal .
- CAWANGAN-NAMA adalah nama cawangan anda. Contohnya: mengembangkan .
Catatan
Sekiranya anda mempunyai perubahan yang tidak disetujui, bahagian gabungan git pull
perintah akan gagal dan cawangan tempatan anda tidak akan disentuh.
Oleh itu, anda harus selalu melakukan perubahan di cawangan sebelum menarik komit baru dari repositori jauh.
Isi kandungan
- Menggunakan
git pull
- Kawalan Versi Teragih
git fetch
+git merge
git pull
dalam IDE
Menggunakan git pull
Gunakan git pull
untuk mengemas kini repositori tempatan dari repositori jauh yang sesuai. Cth: Semasa bekerja secara tempatan master
, jalankan git pull
untuk mengemas kini salinan tempatan master
dan mengemas kini cawangan penjejakan jauh yang lain. (Maklumat lebih lanjut mengenai cawangan pengesanan jarak jauh di bahagian seterusnya.)
Tetapi, ada beberapa perkara yang perlu diingat agar contoh itu benar:
Repositori tempatan mempunyai repositori terpencil yang terpaut
- Periksa ini dengan melaksanakan
git remote -v
- Sekiranya terdapat beberapa jarak jauh,
git pull
mungkin maklumat yang tidak mencukupi. Anda mungkin perlu memasukkangit pull origin
ataugit pull upstream
.
Cabang yang sedang anda periksa mempunyai cabang penjejakan jarak jauh yang sesuai
- Periksa ini dengan melaksanakan
git status
. Jika tidak ada cawangan pengesanan jauh, Git tidak tahu di mana untuk menarik maklumat dari .
Kawalan Versi Teragih
Git adalah Sistem Kawalan Versi Terdistribusi (DVCS). Dengan DVCS, pembangun dapat mengerjakan fail yang sama pada masa yang sama di persekitaran yang berasingan. Setelah mendorong kod ke repositori jarak jauh yang dikongsi, pemaju lain dapat menarik kod yang diubah.
Interaksi rangkaian di Git
Hanya ada empat arahan yang mendorong interaksi rangkaian di Git. Sebuah repositori tempatan tidak mengetahui tentang perubahan yang dilakukan pada repositori jauh sehingga ada permintaan untuk mendapatkan informasi. Dan, repositori jarak jauh tidak menyedari perubahan tempatan sehingga komit didorong.
Empat arahan rangkaian adalah:
git clone
git fetch
git pull
git push
Cawangan di DVCS
Semasa bekerja dengan Git, terasa seperti terdapat banyak salinan kod yang sama yang melayang ke seluruh tempat. Terdapat pelbagai versi fail yang sama di setiap cawangan. Dan, salinan cawangan yang sama pada komputer setiap pemaju dan alat kawalan jauh. Untuk mengetahui perkara ini, Git menggunakan sesuatu yang disebut cawangan penjejakan jarak jauh .
Sekiranya anda menjalankan git branch --all
dalam repositori Git, cawangan penjejakan jarak jauh muncul dengan warna merah. Ini adalah salinan kod baca sahaja seperti yang tertera di alat kawalan jauh. (Bilakah interaksi rangkaian terakhir yang akan membawa maklumat secara tempatan? Ingatlah ketika maklumat ini terakhir dikemas kini. Maklumat di cabang penjejakan jarak jauh menggambarkan maklumat dari interaksi itu.)
Dengan cawangan pengesanan jarak jauh , anda boleh bekerja di Git di beberapa cawangan tanpa interaksi rangkaian. Setiap kali anda melaksanakan git pull
atau git fetch
memerintahkan, anda mengemas kini cabang penjejakan jarak jauh .
git fetch plus git merge
git pull
adalah perintah gabungan, sama dengan git fetch
+ git merge
.
ambil git
Dengan sendiri, git fetch
kemas kini semua cabang penjejakan jauh di repositori tempatan. Tidak ada perubahan yang sebenarnya dapat dilihat pada mana-mana cabang kerja tempatan.
git bergabung
Tanpa sebarang hujah, git merge
akan menggabungkan cawangan pengesanan jarak jauh yang sesuai dengan cawangan kerja tempatan.
tarik git
git fetch
mengemas kini cawangan pengesanan jarak jauh. git merge
mengemas kini cawangan semasa dengan cabang penjejakan jarak jauh yang sesuai. Dengan menggunakan git pull
, anda mendapat kedua-dua bahagian kemas kini ini. Tetapi, ini bermaksud bahawa jika anda mendaftar keluar ke feature
cabang dan anda melaksanakan git pull
, semasa anda mendaftar masuk master
, sebarang kemas kini baru tidak akan disertakan. Setiap kali anda melayari cawangan lain yang mungkin mempunyai perubahan baru, adalah idea yang baik untuk dilaksanakan git pull
.
git menarik IDE
Bahasa umum dalam IDES lain mungkin tidak termasuk perkataan pull
. Sekiranya anda mencari perkataan git pull
tetapi tidak melihatnya, cari perkataan itu sync
sebagai gantinya.
mengambil PR jauh (Permintaan Tarik) ke repo tempatan
Untuk tujuan tinjauan dan sebagainya, PR di jarak jauh harus dibawa ke repo tempatan. Anda boleh menggunakan git fetch
arahan seperti berikut untuk mencapainya.
git fetch origin pull/ID/head:BRANCHNAME
ID adalah id permintaan tarik dan BRANCHNAME adalah nama cawangan yang ingin anda buat. Setelah cabang dibuat, anda boleh gunakan git checkout
untuk beralih ke brach tersebut.
Sumber lain mengenai git di guide.freecodecamp.org
- Git bergabung
- Git checkout
- Git komit
- Git stash
- Cawangan Git