Git Pull Dijelaskan

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 pullmelakukan dua perkara.

  1. Mengemas kini cawangan kerja tempatan semasa (cawangan yang sedang diperiksa)
  2. Mengemas kini cawangan pengesanan jarak jauh untuk semua cawangan lain.

git pullmengambil ( 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--quietatau--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 pullperintah 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 pulluntuk mengemas kini repositori tempatan dari repositori jauh yang sesuai. Cth: Semasa bekerja secara tempatan master, jalankan git pulluntuk mengemas kini salinan tempatan masterdan 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 pullmungkin maklumat yang tidak mencukupi. Anda mungkin perlu memasukkan git pull originatau git 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 --alldalam 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 pullatau git fetchmemerintahkan, anda mengemas kini cabang penjejakan jarak jauh .

git fetch plus git merge

git pulladalah perintah gabungan, sama dengan git fetch+ git merge.

ambil git

Dengan sendiri, git fetchkemas 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 mergeakan menggabungkan cawangan pengesanan jarak jauh yang sesuai dengan cawangan kerja tempatan.

tarik git

git fetchmengemas kini cawangan pengesanan jarak jauh. git mergemengemas 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 featurecabang 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 pulltetapi tidak melihatnya, cari perkataan itu syncsebagai 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 fetcharahan 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 checkoutuntuk beralih ke brach tersebut.

Sumber lain mengenai git di guide.freecodecamp.org

  • Git bergabung
  • Git checkout
  • Git komit
  • Git stash
  • Cawangan Git