Peta dunia

 

EN: Read in English

Dunia 3: Alam Selari

Merge fast-forward

Anda akan belajar: macam mana branch yang siap masuk ke main bila main tiada apa yang baru.

Teks BM belum disemak oleh penutur asli.

Masalahnya

Log: about ada dua commit baru, Add about page dan Say what I like. main ketinggalan dua commit, di Add style. Output terminal: $ git log --oneline --graph --all * 203a91f (about) Say what I like * a20da6c Add about page * 270a76e (HEAD -> main) Add style * a8feb63 Add day 1 page * 6d3a9b1 Add README

Halaman about anda dah siap di branch sendiri. Tapi main belum ada lagi. Macam mana nak gabungkan?

Tengok

Label main meluncur ke depan dua commit dan berhenti di Say what I like, sebelah about. Tiada commit baru.
6d3a9b1a8feb63270a76ea20da6c203a91f

Di main, git merge about bawa masuk kerja about. main tiada apa yang baru, jadi Git cuma luncurkan nota ke depan. Itulah fast-forward: Merge di mana Git cuma gerakkan branch anda ke depan. Tiada commit baru..

Tengok

git merge about papar Updating, kemudian Fast-forward, kemudian about.html dengan 2 baris baru. Output terminal: $ git merge about Updating 270a76e..203a91f Fast-forward about.html | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 about.html

Cari perkataan Fast-forward. Git tak buat commit baru. Cuma satu nota yang bergerak.

Cuba

Anda di main. merge (cantum) (merge): Gabungkan dua jalan cerita jadi satu. (cantum) about ke dalamnya.

6d3a9b1a8feb63270a76ea20da6c203a91f

Teka

Selepas fast-forward, berapa commit baru yang Git buat?

Pilih satu jawapan.

Semak

Di mana main sekarang?

Ketik commit yang main tunjuk sekarang.

6d3a9b1a8feb63270a76ea20da6c203a91f

Anda berjaya!

Kini anda boleh merge dengan fast-forward.

Nak tahu lebih (pilihan)

git merge --ff-only about hanya merge kalau boleh fast-forward. Kalau tak boleh, ia berhenti dengan selamat. git merge --no-ff about sentiasa buat merge commit. Ada pasukan suka cara itu, supaya branch nampak dalam sejarah.

Dengan --no-ff, Git buat merge commit, Merge branch 'about', walaupun boleh fast-forward. Output terminal: $ git merge --no-ff about Merge made by the 'ort' strategy. about.html | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 about.html $ git log --oneline --graph * e8fa618 (HEAD -> main) Merge branch 'about' |\ | * 203a91f (about) Say what I like | * a20da6c Add about page |/ * 270a76e Add style * a8feb63 Add day 1 page * 6d3a9b1 Add README