Peta dunia

 

EN: Read in English

Dunia 4: Hai GitHub

Fetch lawan pull

Anda akan belajar: cara dapatkan commit baru pasukan, dan intai dulu sebelum mencantumnya.

Teks BM belum disemak oleh penutur asli.

Masalahnya

Bungkusan Aisyah sampai di GitHub. GitHub kini ada commit barunya. Laptop anda masih tunjuk gambar lama.

Laptop anda~/diary
  1. ea2c020Add purple stylemain (HEAD di sini)origin/main
  2. f6c78e5Add home page
  3. 2efd0f2Add README
0 di depan · 0 di belakang origin/main
GitHubgithub.com/you/diary
  1. ea2c020Add purple stylemain
  2. f6c78e5Add home page
  3. 2efd0f2Add README

Aisyah baru push catatan diarinya. Laptop anda langsung tak tahu. Macam mana nak tahu?

Tengok

git fetch muat turun main ke origin/main. git status kata branch anda ketinggalan 1 commit di belakang origin/main. Output terminal: $ git fetch From https://github.com/you/diary ea2c020..c64aa8e main -> origin/main $ git status On branch main Your branch is behind 'origin/main' by 1 commit, and can be fast-forwarded. (use "git pull" to update your local branch) nothing to commit, working tree clean

fetch (ambil berita) (fetch): Muat turun berita dari remote. Branch dan fail anda kekal sama. (ambil berita) muat turun berita terbaru. Ia gerakkan origin/main sahaja. Main dan fail anda tak berubah.

Cuba

Fetch dulu dan tengok laptop anda. Kemudian pull catatan Aisyah ke dalam main.

Laptop anda~/diary
  1. ea2c020Add purple stylemain (HEAD di sini)origin/main
  2. f6c78e5Add home page
  3. 2efd0f2Add README
0 di depan · 0 di belakang origin/main
GitHubgithub.com/you/diary
  1. c64aa8eAdd Aisyah's day 2 · Aisyah (hanya di GitHub)main
  2. ea2c020Add purple style
  3. f6c78e5Add home page
  4. 2efd0f2Add README

Tekan satu tindakan. Tengok kurier itu.

Teka

Anda jalankan git fetch. Adakah index.html anda berubah?

Pilih satu jawapan.

Tengok

Selepas git fetch, satu commit ungu muncul dengan label origin/main. Label main kekal satu commit di belakang.
2efd0f2f6c78e5ea2c020

origin/main ialah branch penjejak remote (remote-tracking branch): Ingatan laptop anda tentang branch remote, contohnya origin/main. Ia bergerak bila anda fetch.. Ia ingatan laptop anda tentang GitHub. Ia hanya bergerak bila anda fetch, pull atau push.

Semak

Fetch atau pull? Asingkan setiap satu.

Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.

      Cuba

      Taip sendiri: fetch, tengok dengan git status, kemudian pull.

      2efd0f2f6c78e5ea2c020

      Anda berjaya!

      Kini anda boleh fetch untuk mengintai dan pull untuk mengejar.

      Nak tahu lebih (pilihan)

      git pull ialah git fetch dan merge (atau rebase: pelajaran seterusnya). Selepas fetch, git log --oneline main..origin/main senaraikan apa yang baru. git fetch --prune lupakan branch remote yang dah dipadam di GitHub.