Peta dunia

 

EN: Read in English

Dunia 4: Hai GitHub

Force push dengan selamat

Anda akan belajar: bila force push boleh, dan cara --force-with-lease melindungi pasukan anda.

Teks BM belum disemak oleh penutur asli.

Masalahnya

Anda push “Add about pgae”. Alamak! Anda baiki mesej itu dengan --amend. Kini git push ditolak. git push --force nampak menggoda. Apa risikonya?

Pilih satu jawapan.

Tengok

git push --force ganti main di GitHub dengan main anda. Commit Aisyah dan commit lama yang tersalah taip hilang dari GitHub.

Laptop anda~/diary
  1. e82b02fAdd about page (hanya di laptop anda)main (HEAD di sini)
  2. f91c599Add about pgae (dah di-fetch, belum masuk main)origin/main
  3. ea2c020Add purple style
  4. f6c78e5Add home page
  5. 2efd0f2Add README
1 di depan · 1 di belakang origin/main
GitHubgithub.com/you/diary
  1. f0f8b99Add Aisyah's day 2 · Aisyah (hanya di GitHub)main
  2. f91c599Add about pgae
  3. ea2c020Add purple style
  4. f6c78e5Add home page
  5. 2efd0f2Add README

force push (push paksa) (force push): Paksa branch remote jadi sama dengan branch anda, walaupun commit di sana terbuang. (push paksa) paksa GitHub jadi sama tepat dengan main anda. Aisyah push selepas fetch terakhir anda. Commitnya baru sahaja lesap.

Cuba

Bina force push yang lebih selamat.

Ketik kepingan ikut turutan yang betul.

…

Tengok

git push --force-with-lease semak GitHub dulu. GitHub dah berubah sejak fetch terakhir anda, jadi push berhenti dan bungkusan dipulangkan. Commit Aisyah kekal.

Laptop anda~/diary
  1. e82b02fAdd about page (hanya di laptop anda)main (HEAD di sini)
  2. f91c599Add about pgae (dah di-fetch, belum masuk main)origin/main
  3. ea2c020Add purple style
  4. f6c78e5Add home page
  5. 2efd0f2Add README
1 di depan · 1 di belakang origin/main
GitHubgithub.com/you/diary
  1. f0f8b99Add Aisyah's day 2 · Aisyah (hanya di GitHub)main
  2. f91c599Add about pgae
  3. ea2c020Add purple style
  4. f6c78e5Add home page
  5. 2efd0f2Add README

--force-with-lease semak dulu. Adakah GitHub masih seperti fetch terakhir saya? Aisyah dah push, jadi ia berhenti. Kerjanya selamat.

Semak

Force push: okey, atau perlu dibaiki? Leret setiap satu.

Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.

1 / 4

Force push branch sendiri selepas rebase

Force push branch sendiri selepas rebase

Cuba

Kali ini tiada siapa push sejak fetch terakhir anda. Hantar commit yang dibaiki dengan selamat.

Laptop anda~/diary
  1. a26f6d8Add about page (hanya di laptop anda)main (HEAD di sini)
  2. f91c599Add about pgae (dah di-fetch, belum masuk main)origin/main
  3. ea2c020Add purple style
  4. f6c78e5Add home page
  5. 2efd0f2Add README
1 di depan · 1 di belakang origin/main
GitHubgithub.com/you/diary
  1. f91c599Add about pgaemain
  2. ea2c020Add purple style
  3. f6c78e5Add home page
  4. 2efd0f2Add README

Tekan satu tindakan. Tengok kurier itu.

Anda berjaya!

Kini anda boleh force push hanya bila selamat, dengan –force-with-lease.

Nak tahu lebih (pilihan)

Lease percaya pada origin/main anda. Sesetengah editor fetch secara senyap, jadi ia dikemas kini. Lease mungkin lepas tanpa anda nampak commit baru. --force-if-includes tambah satu lagi semakan untuk itu. Kesilapan dikongsi pada main? Guna git revert sahaja.