Pertemuan Pertemuan 7

Push, Pull, Clone, dan Fetch

Pertemuan 7 / 32
Basic Modul 1.4 60 menit
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)

WaktuAktivitasDurasi
00:00Review pertemuan 65 min
00:05Materi: push, pull, clone, fetch15 min
00:20Demonstrasi live10 min
00:30Latihan LGB (Remote levels)15 min
00:45Latihan Terminal10 min
00:55Rangkuman5 min

Materi Inti

Alur Kerja Lokal ↔ Remote

  LOKAL                                    REMOTE (GitHub)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     git push      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚          β”‚  ──────────────>  β”‚                  β”‚
β”‚  Repo    β”‚                   β”‚  Repo di GitHub  β”‚
β”‚  Lokal   β”‚  <──────────────  β”‚                  β”‚
β”‚          β”‚     git pull       β”‚                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    (fetch+merge)   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
PerintahFungsi
git pushKirim commit lokal ke remote
git pullAmbil perubahan dari remote + gabungkan ke lokal
git fetchAmbil perubahan dari remote TANPA menggabungkan
git cloneSalin 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 fetch dulu 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/main akan maju, tapi main lokal 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

  1. Selesaikan LGB Remote level 1-4 (clone, remote branches, fetch, pull)
  2. Latihan: Edit file via GitHub web, lalu pull ke lokal
  3. 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...