- Penjelasan terperinci tentang direktori
.git yang dibuat saat menjalankan git init
- Direktori
.git berisi berbagai file dan folder seperti config, HEAD, hooks, objects, dan refs
- File teks
config memuat pengaturan git untuk repositori saat ini, termasuk pengaturan dasar seperti penulis dan mode file
- File
HEAD memuat head saat ini dari repositori yang menunjuk ke branch default. Tergantung branch default yang dipilih, bisa berupa master atau main, dan sebagainya
- Direktori
hooks berisi semua skrip yang dapat dijalankan sebelum dan sesudah operasi git
- Direktori
objects berisi data tentang file dan commit dalam repositori
- Direktori
refs menyimpan referensi atau pointer yang menunjuk ke branch dan tag
- Saat file ditambahkan ke repositori, file
index diperbarui dan folder serta file baru ditambahkan ke direktori objects
- File baru di direktori
objects memuat tipe, ukuran, dan data dari file yang ditambahkan, dan nama filenya diambil dari sha1 isi file
- Saat file di-commit, berbagai perubahan terjadi, termasuk pembuatan file baru bernama
COMMIT_EDITMSG yang berisi pesan commit dan penambahan objek baru di direktori objects
- Pembuatan branch di git adalah proses sederhana yang mencakup penambahan file baru di direktori
refs/heads dengan nama branch dan ID commit terbaru
- Checkout branch mencakup pembaruan file
.git/HEAD agar menunjuk ke branch yang di-checkout
- Penggabungan branch dapat dilakukan dengan tiga cara:
fast forward merge, rebase merge, atau membuat merge commit terpisah
- Saat repositori di-push, semua isi direktori
objects serta semua branch dan tag di bawah refs yang didorong secara eksplisit akan dikirim ke repositori git lain
1 komentar