Latihan 1 dari materi Worktree, Blame & Advanced di Git — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Ini repo toko dari materi: main punya tiga commit dari Rina, Bima, dan Sari yang mengubah auth.js. Kamu sedang di branch fitur-login, dan login.js di folder sudah kamu ubah tapi belum di-commit. Folder proyekmu di terminal ini bernama /project.
Cari tahu siapa yang terakhir mengubah tiap baris auth.js: git blame auth.js.
Cari commit yang menambah atau menghapus teks includes: git log -S"includes" --oneline. Commit refactor validation gak muncul, karena jumlah includes-nya tetap.
Ada bug darurat di main. Jangan ganggu kerjaanmu: buka main di folder kedua dengan git worktree add ../toko-hotfix main, lalu git worktree list.
Pindah ke folder itu dengan cd ../toko-hotfix. Perbaiki: echo 'module.exports = { validateEmail }' >> auth.js, lalu git commit -am "fix: ekspor validateEmail".
Kembali ke foldermu dengan cd ../project, lalu bereskan folder kedua: git worktree remove ../toko-hotfix.
Yang dicek:
main punya tepat 4 commit, yang paling atas pesannya mengandung fix:,
kamu kembali di branch fitur-login, dan login.js masih berisi persis function login() { /* setengah jadi */ },
kamu menjalankan git blame, git log -S, git worktree add, dan git worktree remove.
Hint
git blame dan git log -S cuma membaca riwayat. Worktree membuka main di folder kedua, jadi branch fitur-login dan perubahan login.js di folder pertama gak tersentuh.
Urutannya: git blame auth.js, git log -S"includes" --oneline, git worktree add ../toko-hotfix main, cd ../toko-hotfix, perbaiki dan commit di sana, cd ../project, git worktree remove ../toko-hotfix.