Kembali ke Kursus
AI016 Professional

Tutorial Git oleh Ry

Panduan komprehensif tentang kontrol versi Git, mulai dari alur kerja dasar seperti staging dan commit hingga topik lanjutan seperti rebasing interaktif, kolaborasi jarak jauh, dan bagian internal dari basis data objek Git.

4.9
39.0h
983 siswa
0 suka
Kecerdasan Buatan
Mulai Belajar

Gambaran Umum Kursus

📚 Ringkasan Konten

Panduan komprehensif tentang kontrol versi Git, mulai dari alur kerja dasar seperti staging dan committing hingga topik lanjutan seperti rebase interaktif, kolaborasi jarak jauh, dan bagian internal dari basis data objek Git.

Kelola sistem kontrol versi paling populer di dunia dari perintah hingga inti utama.

Penulis: Ryan Hodson

Ucapan Terima Kasih: Tidak ada yang secara eksplisit disebutkan dalam bagian awal.

🎯 Tujuan Pembelajaran

  1. Bandingkan dan kontraskan Sistem Kontrol Versi Lokal, Terpusat, dan Terdistribusi.
  2. Identifikasi motivasi historis di balik penciptaan Git untuk kernel Linux.
  3. Lakukan pengaturan Git dasar, termasuk verifikasi instalasi, inisialisasi repositori, dan pelacakan file.
  4. Inisialisasi repositori Git dan identifikasi peran direktori .git.
  5. Konfigurasi pengaturan pengguna global dan lacak file proyek menggunakan area staging.
  6. Jalankan commit untuk membuat snapshot proyek dan tinjau hasilnya melalui riwayat repositori.
  7. Navigasi ke commit historis tertentu menggunakan ID dan kembali ke status proyek saat ini.
  8. Buat dan kelola tag terannotasi untuk mengidentifikasi versi rilis stabil.
  9. Gunakan git revert untuk membatalkan perubahan yang telah dikirim tanpa merusak sejarah secara transparan.
  10. Identifikasi, buat, dan beralih antara cabang menggunakan CLI Git.

🔹 Pelajaran 1: Sejarah dan Dasar-Dasar Kontrol Revisi

Ringkasan: Pelajaran ini menelusuri evolusi kontrol versi dari manajemen file manual hingga sistem terdistribusi yang canggih. Dijelaskan perbedaan arsitektural antara Sistem Kontrol Versi Lokal, Terpusat, dan Terdistribusi (VCS), serta konteks historis khusus yang mendorong penciptaan Git. Siswa juga akan belajar langkah-langkah dasar untuk menginstal Git dan menginisialisasi repositori pertama mereka.

Hasil Pembelajaran:

  • Bandingkan dan kontraskan Sistem Kontrol Versi Lokal, Terpusat, dan Terdistribusi.
  • Identifikasi motivasi historis di balik penciptaan Git untuk kernel Linux.
  • Lakukan pengaturan Git dasar, termasuk verifikasi instalasi, inisialisasi repositori, dan pelacakan file.

🔹 Pelajaran 2: Menguasai Dasar-Dasar: Staging dan Committing

Ringkasan: Pelajaran ini membahas siklus dasar repositori Git, dari folder proyek standar menuju lingkungan yang dikontrol versi. Siswa akan belajar menginisialisasi repositori, mengonfigurasi identitas pengguna, melacak file baru, serta mengelola transisi perubahan melalui area staging menuju sejarah yang tetap.

Hasil Pembelajaran:

  • Inisialisasi repositori Git dan identifikasi peran direktori .git.
  • Konfigurasi pengaturan pengguna global dan lacak file proyek menggunakan area staging.
  • Jalankan commit untuk membuat snapshot proyek dan tinjau hasilnya menggunakan riwayat repositori.

🔹 Pelajaran 3: Membatalkan Perubahan dan Menavigasi Riwayat

Ringkasan: Pelajaran ini membahas teknik penting Git untuk melakukan perjalanan waktu dalam repositori, memungkinkan pengembang meninjau keadaan masa lalu, menandai milestone, dan membatalkan kesalahan dengan aman. Peserta akan menguasai kemampuan melihat revisi lama tanpa perubahan permanen, menggunakan tag terannotasi untuk menandai rilis, serta membedakan antara membatalkan sejarah yang sudah dikirim dan membersihkan pekerjaan eksperimental yang belum dikirim.

Hasil Pembelajaran:

  • Navigasi ke commit historis tertentu menggunakan ID dan kembali ke status proyek saat ini.
  • Buat dan kelola tag terannotasi untuk mengidentifikasi versi rilis stabil.
  • Gunakan git revert untuk membatalkan perubahan yang telah dikirim sambil menjaga sejarah yang transparan.

🔹 Pelajaran 4: Cabang Penting dan Penggabungan Dasar

Ringkasan: Pelajaran ini membahas siklus dasar cabang Git, dari pemahaman konseptual cabang sebagai jalur pengembangan independen hingga eksekusi praktis. Siswa akan belajar membuat, menavigasi, dan memvisualisasikan sejarah proyek yang bercabang, hingga integrasi pekerjaan melalui penggabungan cepat (fast-forward) dan penggabungan tiga arah (3-way), serta pembersihan cabang sementara setelahnya.

Hasil Pembelajaran:

  • Identifikasi, buat, dan beralih antara cabang menggunakan CLI Git.
  • Interpretasi diagram sejarah proyek yang bercabang untuk memahami hubungan antara master dan cabang fitur.
  • Jalankan dan bedakan antara penggabungan "Fast-forward" dan penggabungan "3-way".

🔹 Pelajaran 5: Cabang Lanjutan dan Resolusi Konflik

Ringkasan: Pelajaran ini menjelajahi operasi Git lanjutan yang diperlukan akibat sejarah proyek yang berbeda. Dijelaskan mekanisme teoritis penggabungan tiga arah, penggunaan flag -a secara efisien untuk menyederhanakan commit, serta manajemen cabang fitur yang berjalan lama. Siswa akan belajar menavigasi interaksi cabang yang kompleks, menyelesaikan konflik penggabungan secara manual, dan menjaga kebersihan repositori melalui pembersihan cabang yang tepat.

Hasil Pembelajaran:

  • Jelaskan perbedaan struktural antara penggabungan fast-forward dan penggabungan tiga arah.
  • Gunakan flag -a untuk menggabungkan staging dan commit pada file yang dilacak.
  • Identifikasi dan selesaikan konflik penggabungan dengan memahami penanda konflik Git.

🔹 Pelajaran 6: Rebase untuk Riwayat Proyek yang Linier

Ringkasan: Pelajaran ini membahas teknik untuk menjaga riwayat proyek yang bersih dan linier dengan memindahkan dan menggabungkan commit. Peserta akan menguasai transisi dari cabang yang bercabang menjadi timeline yang menyatu menggunakan rebase standar, rebase interaktif (penggabungan), serta kemampuan mengedit commit tertentu selama proses. Di akhir modul ini, siswa akan memahami cara menghilangkan commit penggabungan yang tidak perlu dan menampilkan log commit yang profesional dan ringkas.

Hasil Pembelajaran:

  • Pindahkan dasar cabang fitur ke ujung cabang lain untuk memungkinkan penggabungan cepat.
  • Gunakan rebase interaktif untuk menggabungkan (squash) beberapa commit kecil menjadi satu snapshot yang bermakna.
  • Ubah commit yang sudah ada selama rebase menggunakan fungsi edit dan --amend.

🔹 Pelajaran 7: Menulis Ulang Riwayat dan Keamanan Reflog

Ringkasan: Pelajaran ini menjelajahi teknik lanjutan Git untuk menjaga riwayat proyek yang bersih dan profesional. Peserta akan menguasai "Rebase Interaktif" untuk menulis ulang commit masa lalu, belajar alur kerja presisi untuk memecah commit umum menjadi update yang lebih halus, serta memanfaatkan "Reflog" sebagai jaring pengaman kuat untuk memulihkan data yang tampaknya hilang.

Hasil Pembelajaran:

  • Lakukan rebase interaktif untuk mengubah, mengedit, atau memecah commit historis.
  • Hancurkan satu commit umum menjadi beberapa commit independen yang bermakna menggunakan git reset --mixed.
  • Navigasi Reflog Git untuk mengidentifikasi dan menghidupkan kembali "commit yang mengambang" yang tidak lagi terhubung ke cabang.

🔹 Pelajaran 8: Berkolaborasi Melalui Push dan Fetch

Ringkasan: Pelajaran ini menjelajahi alur kerja dasar kolaborasi multi-pengguna di Git. Anda akan belajar membuat duplikat repositori yang independen, mengonfigurasi identitas lokal untuk mensimulasikan pengguna berbeda, serta membuat koneksi "remote" untuk bertukar kode. Fokus pelajaran adalah mekanisme mengambil data (fetching) dan mengirim data (pushing) antar repositori untuk menyelaraskan upaya pengembangan.

Hasil Pembelajaran:

  • Duplikasi dan Konfigurasi: Berhasil menduplikasi repositori dan mengatur konfigurasi tingkat lokal.
  • Sinkronisasi Remote: Tambahkan bookmark remote dan gunakan fetch serta merge untuk mengintegrasikan perubahan dari pengembang lain.
  • Kelola Status Remote: Navigasi cabang remote dan pahami keadaan "detached HEAD" saat meninjau kode non-lokal.

🔹 Pelajaran 9: Model Repositori Bersama Terpusat

Ringkasan: Pelajaran ini membahas transisi dari berbagi repositori peer-to-peer ke alur kerja terpusat. Siswa akan belajar membuat repositori "kosong" (bare) sebagai pusat komunikasi, menyesuaikan remote untuk lingkungan tim, serta mengelola sinkronisasi perubahan (push dan pull) antara beberapa pengembang agar tetap memiliki sejarah proyek yang konsisten.

Hasil Pembelajaran:

  • Inisialisasi dan konfigurasi repositori kosong untuk berfungsi sebagai server pusat.
  • Kelola koneksi remote untuk mengarahkan alur kerja lokal menuju pusat terpusat.
  • Jalankan alur kerja standar untuk memperbarui konten bersama dan menyelesaikan sejarah yang berbeda menggunakan fetch, rebase, dan merge.

🔹 Pelajaran 10: Model Integrator Terdistribusi

Ringkasan: Pelajaran ini menjelajahi transisi dari kontrol versi terpusat ke Model Integrator Terdistribusi menggunakan Bitbucket sebagai penyedia hosting. Peserta akan berkembang dari pengaturan repositori publik hingga mengelola alur kerja canggih di mana "Integrator" meninjau dan menggabungkan kontribusi dari repositori publik pengembang lain ke versi resmi proyek.

Hasil Pembelajaran:

  • Konfigurasi akun Bitbucket dan buat repositori remote publik untuk kolaborasi terdistribusi.
  • Jalankan "Alur Integrator" dengan mengelola beberapa remote untuk mengambil, meninjau, dan menggabungkan kontribusi eksternal.
  • Pertahankan sinkronisasi antara lingkungan lokal privat dan repositori yang terbuka kepada publik di antara tim pengembang.

🔹 Pelajaran 11: Komunikasi dan Alur Kerja Berbasis Patch

Ringkasan: Pelajaran ini membahas siklus kolaborasi berbasis patch di Git, metode yang digunakan untuk berbagi commit individu antar pengembang tanpa memerlukan akses bersama ke repositori pusat. Siswa akan belajar cara membuat file patch dari commit lokal, mendistribusikannya via email, dan mengintegrasikan patch masuk ke cabang utama proyek.

Hasil Pembelajaran:

  • Hasilkan file patch individu dari commit atau cabang tertentu menggunakan git format-patch.
  • Terapkan file patch eksternal ke repositori lokal menggunakan perintah git am dan redireksi input standar.
  • Jalankan alur integrasi lengkap, termasuk pengujian patch di cabang sementara dan penggabungannya ke cabang master.

🔹 Pelajaran 12: Utilitas Git, Hook, dan Diff Lanjutan

Ringkasan: Pelajaran ini membahas perintah utilitas Git penting dan teknik kustomisasi untuk manajemen repositori tingkat lanjut. Siswa akan belajar cara mengekspor dan berbagi repositori melalui arsip dan bundling, menjaga workspace bersih menggunakan .gitignore dan stash, mengotomatiskan alur kerja melalui hook Git, serta mengoptimalkan pengalaman baris perintah dengan perbandingan diff lanjutan dan alias khusus.

Hasil Pembelajaran:

  • Bedakan dan jalankan ekspor repositori menggunakan arsip (tanpa riwayat) dan bundling (riwayat lengkap).
  • Konfigurasi pola pengecualian file dan kelola perubahan sementara yang sedang dikerjakan.
  • Implementasikan skrip otomatis dalam sistem hook internal Git dan permudah alur kerja menggunakan alias konfigurasi.

🔹 Pelajaran 13: Git Plumbing: Basis Data Objek Internal

Ringkasan: Pelajaran ini menyelam di bawah perintah Git yang ramah pengguna ("porcelain") untuk menjelajahi "plumbing"—basis data objek tingkat rendah. Anda akan belajar bagaimana Git menggunakan empat jenis objek berbeda (Blobs, Trees, Commits, dan Tags) dan checksum SHA-1 untuk mencatat sejarah proyek. Di akhir modul ini, Anda akan memahami cara memanipulasi indeks dan basis data objek secara manual untuk membuat commit tanpa menggunakan antarmuka tingkat tinggi standar.

Hasil Pembelajaran:

  • Definisikan dan bedakan antara empat jenis objek Git: Blobs, Trees, Commits, dan Tags.
  • Jelaskan peran HEAD dan referensi cabang dalam menunjuk ke objek commit tertentu.
  • Tunjukkan alur kerja "plumbing": staging file secara manual, menulis tree, dan membuat objek commit.