K

Command Palette

Search for a command to run...

Daftar

Tarik Perubahan dari GitHub (git pull/clone)

Pelajari cara menyinkronkan repositori lokalmu dengan perubahan terbaru dari remote menggunakan `git pull`, dan cara membuat salinan lengkap repositori remote ke komputermu untuk pertama kali menggunakan `git clone`.

Jaga Kodemu Tetap Update & Ambil Proyek Baru: Jurus git pull dan git clone!

Udah bisa "ngedorong" (push) karyamu ke GitHub? Mantap! Sekarang, gimana caranya biar repositori lokalmu di komputer selalu "nyambung" dan update sama versi terbaru yang ada di GitHub? Atau, gimana kalau kamu mau mulai kerja di proyek yang udah ada di GitHub, tapi belum ada di komputermu?

Ada dua perintah utama buat urusan "narik" kode dari remote:

  1. git clone <URL_repo>: Buat "ngopi" atau "ngloning" seluruh repositori remote ke komputermu untuk pertama kalinya.
  2. git pull <nama_remote> <nama_branch>: Buat ngambil perubahan terbaru dari branch remote dan langsung ngegabunginnya (merge) ke branch lokalmu yang lagi aktif.

Yuk, kita bedah kapan dan gimana pakenya!

1. git clone: "Saya Mau Salinan Lengkap Proyek Itu Dong!"

Perintah git clone dipake pas kamu mau mulai kerja di proyek yang udah ada di GitHub (atau platform Git remote lain), tapi kamu belum punya salinan lokalnya di komputermu. git clone bakal:

  • Ngebikin folder baru di komputermu dengan nama yang sama kayak nama repositorinya (kecuali kamu tentuin nama lain).

  • Ngopi semua file proyek dari repositori remote ke folder baru itu.

  • Ngopi semua histori commit dan semua branch dari repositori remote.

  • Otomatis ngeset koneksi ke repositori remote itu dengan nama alias origin.

  • Sintaks Dasar:

    bash
    git clone <URL_repositori_remote_yang_mau_di_clone>

    Atau, kalau mau folder lokalnya punya nama beda:

    bash
    git clone <URL_repositori_remote> <nama_folder_lokal_baru>
  • <URL_repositori_remote_yang_mau_di_clone>: Ini URL repositori yang bisa kamu copy dari halaman utama repo di GitHub. Biasanya ada pilihan URL HTTPS (gampang buat mulai) atau SSH (lebih aman, butuh setup kunci SSH dulu). Buat pemula, HTTPS lebih simpel.

    • Contoh URL HTTPS: https://github.com/NamaPengguna/NamaRepo.git

Contoh Penggunaan git clone:

Misal kamu mau ngambil proyek open source keren dari GitHub:

bash
# Pastikan kamu lagi ada di direktori tempat kamu mau nyimpen proyek baru ini
# (Misal, di Desktop atau folder ProyekSaya)
cd ~/Desktop 
 
# Clone repositori (ganti URL-nya dengan URL repo beneran)
git clone https://github.com/jquery/jquery.git 
# Ini bakal bikin folder baru bernama "jquery" di Desktop-mu yang isinya semua kode jQuery.
 
# Atau, kalau mau nama folder lokalnya beda:
# git clone https://github.com/jquery/jquery.git proyek-jquery-saya

Setelah git clone selesai, kamu bisa cd jquery (atau cd proyek-jquery-saya), dan kamu udah punya salinan kerja lengkap dari proyek itu, siap buat dioprek atau dipelajari. Koneksi ke origin juga udah otomatis diset.

2. git pull: "Ada Update Gak Nih dari Remote? Ambil Dong!"

Nah, kalau kamu udah punya salinan lokal dari sebuah repositori (entah itu hasil git clone, atau proyek lokal yang udah kamu git remote add origin dan git push sebelumnya), dan kamu mau ngambil perubahan terbaru yang mungkin udah di-push sama orang lain (atau sama kamu sendiri dari komputer lain) ke repositori remote, kamu pake git pull.

git pull itu sebenernya gabungan dari dua perintah lain:

  1. git fetch: Ngambil semua data baru (commit, branch, tag) dari remote repository dan nyimpennya di repositori lokalmu (di referensi remote-tracking branch kayak origin/main), tapi belum ngegabunginnya ke branch lokalmu yang lagi aktif. Jadi, Working Directory-mu belum berubah.
  2. git merge: Setelah fetch, git pull bakal otomatis nyoba nge-merge branch remote yang sesuai (misal, origin/main) ke branch lokalmu yang lagi aktif (misal, main).
  • Sintaks Dasar:

    bash
    git pull <nama_remote> <nama_branch_remote>

    Contoh:

    bash
    # (Pastikan kamu lagi ada di branch lokal yang mau di-update, misal 'main')
    git pull origin main 
    # Ini bakal ngambil perubahan dari branch 'main' di 'origin' dan nge-merge-nya ke branch 'main' lokalmu.
  • Kalau Upstream Udah Diset (git push -u ...): Kalau kamu udah pernah nge-git push -u origin main, branch main lokalmu udah "ngelacak" origin/main. Jadi, kamu cukup ketik git pull aja (tanpa perlu sebutin remote dan branch-nya lagi) pas kamu lagi ada di branch main. Git udah tau mau ngambil dari mana.

    bash
    # (Lagi di branch 'main' yang udah ngelacak origin/main)
    git pull 

    Ini cara yang paling sering dipake sehari-hari.

Apa yang Terjadi Pas git pull?

  • Kalau ada commit baru di remote yang belum ada di lokalmu, dan histori lokalmu adalah kelanjutan lurus dari remote (gak ada commit lokal baru yang belum di-push), git pull biasanya bakal fast-forward merge. Working directory-mu bakal di-update ke versi terbaru.
  • Kalau ada commit baru di remote DAN kamu juga punya commit baru di lokal yang belum di-push (histori jadi beda jalur), git pull bakal nyoba three-way merge dan otomatis bikin merge commit baru di lokalmu.
  • Kalau ada merge conflict pas proses merge otomatis itu, git pull bakal berhenti dan kamu harus nyelesaiin konfliknya dulu manual, terus git add dan git commit buat nyelesaiin merge-nya (sama kayak pas git merge biasa).

Kapan Kamu Perlu git pull?

  • Sebelum mulai kerja di pagi hari (atau pas baru mau ngelanjutin proyek), biar kamu dapet update terbaru dari tim.
  • Sebelum kamu mau git push, apalagi kalau push-mu ditolak karena ada perubahan baru di remote. pull dulu, selesaiin konflik kalau ada, baru push lagi.
  • Secara berkala kalau kamu kerja di proyek yang aktif banget perubahannya.

git fetch vs git pull

Sekadar info tambahan:

  • git fetch <nama_remote>: Cuma ngambil data baru dari remote dan nge-update remote-tracking branch-mu (kayak origin/main). Dia GAK ngubah branch lokalmu atau Working Directory-mu. Kamu bisa git fetch, terus git log origin/main buat liat apa aja yang baru di remote, baru mutusin mau git merge origin/main atau enggak. Ini ngasih kontrol lebih.
  • git pull: Itu kayak git fetch diikuti git merge secara otomatis. Lebih cepet, tapi kurang kontrol.

Buat pemula, git pull (apalagi kalau upstream udah diset jadi cukup git pull aja) itu biasanya udah cukup dan lebih gampang.


Dengan git clone dan git pull, kamu jadi bisa "nyambung" sama dunia luar! git clone buat ngambil proyek baru pertama kali, dan git pull buat ngejaga kodemu tetep sinkron sama versi terbaru di remote.

Ini adalah dua perintah fundamental buat kolaborasi dan ngikutin perkembangan proyek yang di-host di platform kayak GitHub. Jangan lupa buat sering-sering git pull ya, apalagi kalau kerja tim!


Kuis Menarik Perubahan dari GitHub (git pull/clone)

Pertanyaan 1 dari 5

Perintah Git apa yang Anda gunakan untuk membuat salinan LENGKAP dari sebuah repositori remote yang sudah ada di GitHub ke komputer lokal Anda untuk PERTAMA KALINYA?