EN: Read in English
Dunia 10: Git Mendalam
Sintaks revision
Anda akan belajar: cara namakan mana-mana commit, atau sekumpulan commit, tanpa salin id.
Teks BM belum disemak oleh penutur asli.
Masalahnya
Anda perlukan commit (titik simpan) dua langkah ke belakang. Salin id yang panjang memang memenatkan. Ada cara lebih pendek?
Tengok
revision: Apa-apa cara untuk namakan commit: id, branch, HEAD~2, v1.0 dan lain-lain. ialah apa-apa cara untuk namakan commit. HEAD~2 maksudnya dua langkah ke belakang dari HEAD. Setiap langkah ikut parent pertama.
Cuba
Kira langkah ke belakang di sepanjang main.
Ketik commit yang dinamakan oleh HEAD~3.
Petunjuk
Merge itu ada dua parent.~ sentiasa ambil yang pertama, di main.Teka
HEAD~2 ialah merge, jadi ia ada dua parent. ^2 pilih yang kedua. Commit mana ialah HEAD~2^2?
Pilih satu jawapan.
Cuba
Lawati “Add menu page” dengan git switch --detach. Namakan ia dari HEAD, guna ~ dan ^.
Petunjuk
Mula dariHEAD~2^2. Kemudian satu langkah lagi ke belakang.Tengok
A..B (dua titik) senaraikan commit dalam B yang tiada dalam A. Tukar sisinya, dan anda nampak kerja tambahan sisi lain.
Cuba
A...B (tiga titik) senaraikan commit di mana-mana sisi, tapi bukan kedua-duanya. --left-right tandakan sisi: < untuk A, > untuk B.
Ketik commit yang hanya ada dalam prices.
0 daripada 1 dijumpai
Semak
Sebelum merge, anda semak apa yang prices akan bawa masuk ke main. Arahan mana?
Pilih satu jawapan.
Anda berjaya!
Kini anda boleh namakan mana-mana commit tanpa salin idnya.
Nak tahu lebih (pilihan)
HEAD^ sama dengan HEAD~1. HEAD@{1} ialah tempat HEAD berada satu langkah tadi, daripada reflog. v1.0^{} ialah commit yang tag tunjuk. git rev-parse tukar mana-mana revision kepada id penuh. git diff main...prices tunjuk apa yang prices ubah sejak ia berpecah.
English
You need the commit two steps back. Copying long ids gets old fast. Is there a shorter way?
A revision is any way to name a commit. HEAD~2 means two steps back from HEAD. Each step follows the first parent.
Count the steps back along main.
~ always takes the first one, on main.HEAD~2 is a merge, so it has two parents. ^2 picks the second one. Which commit is HEAD~2^2?
Visit “Add menu page” with git switch --detach. Name it from HEAD, using ~ and ^.
HEAD~2^2. Then go one more step back.A..B (two dots) lists commits in B that A does not have. Swap the sides, and you see the other side’s extra work.
A...B (three dots) lists commits on either side, but not both. --left-right marks the sides: < for A, > for B.
Before a merge, you review what prices will bring into main. Which command?
You can now name any commit without copying its id.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: gitrevisions · git rev-parse · git log
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?