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
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 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.
Petunjuk
Taipgit hash-object -w notes.txt. Kemudian git cat-file -p dengan id yang dicetak.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.
English
Your script needs the newest commit id. git log prints too much, and its look can change. What should the script use?
Low-level commands are plumbing: the pipes under the sink. They print plain, steady output. Scripts love them.
The shiny sink on top is porcelain: commands for people. Sort each command.
git hash-object prints the id Git would give a file. It matches the blob already in the commit. Same content, same id.
notes.txt is not in Git yet. Save its content as a blob, with no commit. Then read the blob back.
git hash-object -w notes.txt. Then git cat-file -p with the id it printed.Ben has the same notes.txt on his laptop. He runs git hash-object notes.txt. What id does he get?
Build the command that prints index.html as the newest commit saved it.
You can now tell plumbing from porcelain and save a blob yourself.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: git (high-level and low-level commands) · git hash-object · git cat-file · git ls-tree
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?