Peta dunia

 

EN: Read in English

Dunia 10: Git Mendalam

Plumbing lawan porcelain

Anda akan belajar: dua jenis arahan Git, dan cara simpan blob sendiri.

Teks BM belum disemak oleh penutur asli.

Masalahnya

Skrip anda perlukan id commit terbaru. git log cetak terlalu banyak, dan rupanya boleh berubah. Apa yang skrip patut guna?

Pilih satu jawapan.

Tengok

git rev-parse HEAD cetak satu id penuh. git ls-tree HEAD senaraikan about.html, tree css dan index.html, setiap satu dengan mod, jenis dan id. Output terminal: $ git rev-parse HEAD 9e8ddf8fb3a185e7920bc21542abe85b09f07e21 $ git ls-tree HEAD 100644 blob 85bde0423f5f223e79568ce56454532cbf598613 about.html 040000 tree a88e32d7965263df0f8e5deb4bcf41bd6ea9fc40 css 100644 blob 6b62adb46423f92b1c925e6fdcc9ec947097a1d4 index.html

Arahan peringkat rendah dipanggil plumbing: Arahan Git peringkat rendah, contohnya cat-file. Output ringkas dan stabil untuk skrip. (paip): paip di bawah sinki. Outputnya ringkas dan stabil. Skrip suka arahan ini.

Cuba

Sinki berkilat di atas pula ialah porcelain: Arahan harian Git yang mesra, contohnya status dan commit. (porselin): arahan untuk manusia. Susun setiap arahan.

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

      Tengok

      git hash-object index.html dan git rev-parse HEAD:index.html cetak id yang sama, 6b62adb46423f92b1c925e6fdcc9ec947097a1d4. Output terminal: $ git hash-object index.html 6b62adb46423f92b1c925e6fdcc9ec947097a1d4 $ git rev-parse HEAD:index.html 6b62adb46423f92b1c925e6fdcc9ec947097a1d4

      git hash-object cetak id yang Git akan beri kepada sesuatu fail. Ia sama dengan blob yang dah ada dalam commit. Isi sama, id sama.

      Cuba

      notes.txt belum ada dalam Git. Simpan isinya sebagai blob, tanpa commit. Kemudian baca semula blob itu.

      Teka

      Ben ada notes.txt yang sama dalam laptopnya. Dia jalankan git hash-object notes.txt. Id apa yang dia dapat?

      Pilih satu jawapan.

      Semak

      Bina arahan yang cetak index.html seperti yang disimpan oleh commit terbaru.

      Ketik kepingan ikut turutan yang betul.

      …

      Anda berjaya!

      Kini anda boleh bezakan plumbing dan porcelain, dan simpan blob sendiri.

      Nak tahu lebih (pilihan)

      Output porcelain mungkin berubah antara versi Git. Output plumbing kekal stabil. Perlukan status dalam skrip? git status --porcelain beri format yang dijanji kekal sama. git ls-tree -r --name-only HEAD senaraikan setiap fail dalam satu commit.

      git ls-tree -r --name-only HEAD senaraikan about.html, css/style.css dan index.html. Output terminal: $ git ls-tree -r --name-only HEAD about.html css/style.css index.html