Uji kemampuan Anda di semua layanan Hosting kami dan dapatkan diskon 15%!

Gunakan kode saat checkout:

Skills
23.06.2025

Struktur Repositori Git

Kontrol versi adalah bagian penting dari pengembangan perangkat lunak modern, dan memiliki alat dan layanan yang tepat dapat membuat pengelolaan proyek Anda jauh lebih mudah. AlexHost menawarkan solusi hosting VPS yang tangguh dan aman, sempurna untuk hosting repositori Git Anda. Dengan fitur-fitur seperti akses root penuh, alamat IPv4 khusus, penyimpanan NVMe yang sangat cepat, dan dukungan untuk berbagai sistem operasi, AlexHost memastikan kinerja dan keandalan yang mulus. Baik Anda seorang pengembang tunggal atau bagian dari tim besar, AlexHost menyediakan fleksibilitas dan kekuatan yang diperlukan untuk mengelola proyek Anda secara efektif.

Memahami struktur repositori Git sangat penting untuk mengelola kode sumber proyek Anda secara efisien, melacak perubahan, dan berkolaborasi dengan orang lain.

Berikut ini adalah rincian komponen penting dan struktur repositori Git:


1. Direktori Kerja

Direktori kerja adalah tempat di mana file-file aktual dalam proyek Anda berada. Ketika Anda mengkloning repositori Git, Anda mendapatkan salinan semua file yang dilacak, yang ditempatkan di direktori kerja Anda. Ini adalah area di mana Anda secara aktif mengedit file, membuat perubahan, dan menambahkan konten baru.

  • File yang dimodifikasi: File apa pun yang Anda edit di direktori kerja Anda akan dianggap dimodifikasi hingga Anda melakukan pemeringkatan atau mengatur ulang perubahannya.
  • File yang Belum Dilacak: File yang belum dilacak oleh Git akan muncul di direktori kerja sebagai file yang tidak terlacak sampai file tersebut dipentaskan dan dikomit.

2. Area Pementasan (Indeks)

Staging area (juga disebut indeks) adalah tempat perantara di mana perubahan pada file dikumpulkan sebelum melakukan penyimpanan ke repositori. Anda menambahkan file atau perubahan ke area pementasan menggunakan perintah git add. Perubahan di area pementasan akan menjadi bagian dari komit berikutnya.

  • Menambahkan Perubahan ke Area Staging:
    git tambahkan
  • Melihat Area Staging: Anda dapat melihat apa yang ada di area pementasan menggunakan status git.

3. Direktori Git (folder .git)

Direktori Git, yang disimpan dalam folder .git, adalah jantung dari repositori Git. Direktori ini berisi semua informasi penting tentang riwayat, konfigurasi, dan status proyek Anda saat ini. Direktori ini secara otomatis dibuat ketika Anda menginisialisasi atau mengkloning repositori Git.

Komponen Utama Direktori .git:

  • HEAD: Sebuah file yang menunjuk ke komit saat ini di cabang Anda.
  • Cabang: Berisi informasi tentang cabang-cabang di repositori.
  • Objek: Menyimpan semua objek seperti komit, gumpalan (data file), dan pohon (struktur direktori).
  • Referensi: Berisi referensi untuk komit, termasuk kepala (cabang), tag, dan cabang pelacakan jarak jauh.
  • Config: File konfigurasi untuk repositori lokal Anda, tempat pengaturan seperti remote atau informasi pengguna disimpan.
  • Log: Menyimpan log untuk semua aktivitas seperti komit, checkout, dan rebase.
  • Kait (Hooks): Skrip khusus yang dapat memicu tindakan sebelum atau sesudah peristiwa Git tertentu (misalnya, komit, push).

4. Komit Riwayat

Setiap komit merupakan cuplikan repositori Anda pada titik waktu tertentu. Komit mencakup perubahan pada file bersama dengan metadata seperti pesan komit, penulis, dan stempel waktu. Komit membentuk riwayat proyek Anda.

  • Komit disimpan di direktori .git/objects.
  • Setiap komit menunjuk ke komit sebelumnya (kecuali komit pertama), membentuk rantai yang terhubung yang dapat divisualisasikan sebagai riwayat proyek.
git log # Melihat riwayat komit

5. Cabang

Cabang adalah penunjuk ke komit tertentu, yang memungkinkan Anda untuk mengerjakan berbagai versi proyek Anda secara bersamaan. Secara default, Git dimulai dengan cabang yang disebut main (atau master di versi yang lebih lama).

  • Penunjuk Cabang: Cabang hanyalah penunjuk ke sebuah komit. Membuat cabang baru berarti membuat penunjuk ke komit saat ini, sehingga kamu bisa membuat komit baru di cabang tersebut tanpa memengaruhi cabang lainnya.
git branch # Membuat cabang baru git checkout # Beralih ke cabang yang sudah ada
  • HEAD: Penunjuk HEAD di Git menunjukkan cabang atau komit yang sedang kamu kerjakan. Biasanya menunjuk ke komit terbaru di cabang Anda saat ini.

6. Tags

Tag adalah referensi ke titik-titik tertentu dalam riwayat Git Anda, yang sering digunakan untuk menandai versi rilis (mis. v1.0, v2.0). Tidak seperti cabang, tag tidak diperbarui dengan komit baru.

  • Tag Ringan: Ini adalah penunjuk sederhana untuk sebuah komit, mirip dengan cabang.
  • Tag beranotasi: Berisi metadata tambahan, seperti nama penanda, tanggal, dan pesan tag.
git tag v1.0 # Membuat tag ringan git tag -a v1.0 -m “Versi 1.0” # Membuat tag beranotasi

7. Remote

Remote di Git adalah referensi ke salinan repositori Anda yang di-host di tempat lain, sering kali di platform seperti GitHub, GitLab, atau Bitbucket. Remote digunakan untuk kolaborasi, memungkinkan Anda untuk mendorong perubahan atau menarik perubahan dari salinan repositori lainnya.

  • Asal: Secara default, repositori jarak jauh utama disebut asal.
git remote add origin # Menambahkan repositori jarak jauh git fetch origin # Mengambil perubahan dari remote git push origin main # Mendorong perubahan ke cabang utama jarak jauh

8. Objek di Git

Direktori objek Git (.git/objects) berisi empat jenis objek utama yang membentuk riwayat repositori:

  • Gumpalan: Menyimpan konten aktual dari sebuah file.
  • Pohon: Merupakan direktori, memetakan nama file ke objek gumpalan dan subdirektori (objek pohon lainnya).
  • Komit: Menyimpan metadata tentang setiap perubahan (penulis, tanggal, pesan) dan menunjuk ke objek pohon.
  • Tag: Menunjuk ke komit dan menyimpan informasi tentang penanda dan pesan (dalam kasus tag beranotasi).

9. Kait

Git memungkinkan Anda menentukan skrip khusus (hook) yang dapat memicu pada berbagai tahap dalam alur kerja Git. Skrip ini dapat berjalan secara otomatis setelah atau sebelum peristiwa seperti komit, push, atau penggabungan. Hooks dapat menegakkan kualitas kode, menjalankan pengujian, atau memicu pipeline CI/CD.

Hooks disimpan di direktori .git/hooks/.

  • Hook pra-komit: Berjalan sebelum komit dibuat.
  • Pengait pasca-komit: Dijalankan setelah komit dibuat.

10. Log

Git menyimpan log dari semua tindakan di repositori, seperti komit, checkout, penggabungan, dan pengembalian. Log ini membantu dalam men-debug dan meninjau tindakan yang dilakukan di repositori.

  • Git Reflog: Menyimpan catatan semua perubahan pada penunjuk HEAD, sehingga Anda dapat memulihkan dari tindakan seperti pengaturan ulang cabang.
git reflog # Lihat reflog untuk melihat tindakan terbaru

Ringkasan Struktur Repositori Git

  • Direktori Kerja: Berisi file dan direktori dalam kondisi saat ini.
  • Area Pementasan (Indeks): Tempat perubahan dipentaskan sebelum dilakukan.
  • Direktori Git (.git): Menampung data inti, termasuk objek, konfigurasi, dan log.
  • Komit: Catatan perubahan dengan metadata, membentuk riwayat proyek.
  • Cabang: Penunjuk ke komit tertentu yang memungkinkan pengembangan paralel.
  • Tag: Referensi bernama untuk komit tertentu, biasanya untuk menandai rilis.
  • Remote: Referensi ke repositori yang dihosting di tempat lain untuk kolaborasi.
  • Objek: Komponen inti dalam Git, termasuk gumpalan, pohon, dan komit.

Dengan memahami struktur ini, Anda dapat menavigasi dan mengelola repositori Git secara efektif, memastikan kolaborasi yang lancar dan kontrol versi di seluruh pengembangan proyek Anda.

Uji kemampuan Anda di semua layanan Hosting kami dan dapatkan diskon 15%!

Gunakan kode saat checkout:

Skills