Basic
Pertemuan 07
Push, Pull, Clone, dan Fetch
Tujuan Pembelajaran
- Menguasai perintah push, pull, clone, dan fetch
- Memahami perbedaan pull vs fetch
- Mampu mengkloning repository dari GitHub
- Memahami alur kerja lokal <-> remote
Agenda (60 menit)
| Waktu | Aktivitas | Durasi |
|---|---|---|
| 00:00 | Review pertemuan 6 | 5 min |
| 00:05 | Materi: push, pull, clone, fetch | 15 min |
| 00:20 | Demonstrasi live | 10 min |
| 00:30 | Latihan LGB (Remote levels) | 15 min |
| 00:45 | Latihan Terminal | 10 min |
| 00:55 | Rangkuman | 5 min |
Materi Inti
Alur Kerja Lokal β Remote
LOKAL REMOTE (GitHub)
ββββββββββββ git push ββββββββββββββββββββ
β β ββββββββββββββ> β β
β Repo β β Repo di GitHub β
β Lokal β <ββββββββββββββ β β
β β git pull β β
ββββββββββββ (fetch+merge) ββββββββββββββββββββ
| Perintah | Fungsi |
|---|---|
git push | Kirim commit lokal ke remote |
git pull | Ambil perubahan dari remote + gabungkan ke lokal |
git fetch | Ambil perubahan dari remote TANPA menggabungkan |
git clone | Salin seluruh repo dari remote ke lokal |
Perbedaan Pull vs Fetch
# git pull = git fetch + git merge
# Langsung menggabungkan perubahan
git pull origin main
# git fetch = hanya download, TIDAK merge
# Lebih aman β kamu bisa review dulu sebelum merge
git fetch origin
git log origin/main # lihat apa yang berubah
git merge origin/main # baru merge kalau sudah OK
π‘ Tips: Jika ragu, gunakan
git fetchdulu agar bisa mereview perubahan sebelum menggabungkannya.
Demonstrasi Live
# Clone repo publik
git clone git@github.com:USERNAME/latihan-pertemuan6.git latihan-clone
cd latihan-clone
# Lihat remote
git remote -v
# Edit via GitHub (browser):
# 1. Buka repo di GitHub
# 2. Klik file README.md β Edit (ikon pensil)
# 3. Tambahkan baris baru, commit di GitHub
# Kembali ke terminal β fetch dan lihat perubahan
git fetch origin
git log --oneline origin/main
git log --oneline main
# origin/main lebih maju dari main lokal
# Pull untuk menggabungkan
git pull origin main
git log --oneline
# Sekarang sama
Latihan Interaktif (15 menit)
A. Latihan Visualisasi β Learn Git Branching (Remote Tab)
Level: βClone Introβ (Push & Pull - Level 1)
Ketik di LGB: level remote1
Instruksi dalam Bahasa Indonesia:
- Level ini memperkenalkan
git clone - Kamu akan melihat 2 visualisasi: lokal dan remote (origin)
- Remote branches ditampilkan sebagai
o/main(origin/main)
Solusi:
git clone
Level: βGit Fetchinββ (Push & Pull - Level 3)
Ketik di LGB: level remote3
Instruksi:
- Level ini mengajarkan
git fetch - Fetch mengunduh commit dari remote TANPA mengubah branch lokal
- Branch
o/mainakan maju, tapimainlokal tetap di tempat
Solusi:
git fetch
Level: βGit Pullinββ (Push & Pull - Level 4)
Ketik di LGB: level remote4
Instruksi:
git pull=git fetch+git merge- Pull langsung menggabungkan perubahan remote ke branch lokal
Solusi:
git pull
B. Latihan Terminal (Hands-on)
# Clone repo publik
git clone git@github.com:USERNAME/latihan-pertemuan6.git latihan-clone
cd latihan-clone
# Lihat remote
git remote -v
# Edit via GitHub (browser):
# 1. Buka repo di GitHub
# 2. Klik file README.md β Edit (ikon pensil)
# 3. Tambahkan baris baru, commit di GitHub
# Kembali ke terminal β fetch dan lihat perubahan
git fetch origin
git log --oneline origin/main
git log --oneline main
# origin/main lebih maju dari main lokal
# Pull untuk menggabungkan
git pull origin main
git log --oneline
# Sekarang sama
Tugas Mandiri
- Selesaikan LGB Remote level 1-4 (clone, remote branches, fetch, pull)
- Latihan: Edit file via GitHub web, lalu pull ke lokal
- Latihan: Edit file di lokal, push ke GitHub
Praktik Interaktif
Selesaikan level berikut untuk memperkuat pemahaman kamu.
Learn Git Branching β Level: remote1
Buka di tab baru Memuat Learn Git Branching...
Learn Git Branching β Level: remote3
Buka di tab baru Memuat Learn Git Branching...
Learn Git Branching β Level: remote4
Buka di tab baru Memuat Learn Git Branching...