Latihan 1 dari materi Git Object Model & DAG di Git — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Folder proyekmu berisi README.md (isinya # Object Model) dan app.js. Bikin dua commit, lalu intip object-object yang disimpan Git.
Jalankan git init, lalu cat .git/HEAD. Isinya ref: refs/heads/main: HEAD menunjuk branch main.
Ubah app.js dengan echo added >> app.js, lalu git add . dan commit kedua: git commit -m "update".
Buka object commit-nya: git cat-file -p HEAD. Ada tree, parent, author, dan pesannya.
Buka tree-nya: git cat-file -p HEAD^{tree}. Ada dua blob, satu untuk tiap file.
Hitung hash README.md dengan git hash-object README.md. Hasilnya e6962494240ce890906939be986e7c9a196f20a0, sama dengan blob README.md di tree tadi.
Yang dinilai: branch main punya minimal 2 commit, pesan commit terakhirnya mengandung update, dan perintah cat .git/HEAD, git cat-file -p, serta git hash-object sudah kamu jalankan.
Hint
Tiap commit adalah snapshot baru yang menunjuk commit sebelumnya, dan git cat-file -p membuka object apa pun: commit, tree, atau blob.
Urutannya: git init, cat .git/HEAD, dua kali add dan commit (ubah app.js di antaranya, commit kedua berpesan update), lalu git cat-file -p HEAD, git cat-file -p HEAD^{tree}, dan git hash-object README.md.