Remote: clone, push, fetch, pull
Menghubungkan repository lokal dengan remote (GitHub) dan menyinkronkan pekerjaan.
Remote = repository di tempat lain
Selama ini semua terjadi di komputermu. Untuk berkolaborasi, kamu butuh repository bersama di server — GitHub, GitLab, Bitbucket, atau server sendiri. Repository itu disebut remote; Git memberinya nama pendek, biasanya origin.
Dua cara memulai
# A. Ambil proyek yang sudah ada di GitHub
git clone https://github.com/kelasit/proyek-tim.git
cd proyek-tim
# B. Hubungkan repo lokal yang sudah ada ke remote kosong
git remote add origin https://github.com/dina/proyek-saya.git
git push -u origin main
git clone menyalin seluruh riwayat, otomatis menamai remote origin, dan membuat branch lokal yang melacak origin/main.
Mengelola remote
git remote -v # lihat remote & URL-nya
git remote add upstream <url> # tambah remote lain
git remote rename origin github
git remote remove upstream
git remote set-url origin <url-baru>
Mengirim: git push
git push -u origin main # pertama kali: -u menghubungkan branch lokal ke origin/main
git push # selanjutnya cukup begini
Jika remote punya commit yang belum kamu miliki, push ditolak (rejected ... fetch first). Ambil dulu perubahan rekan, gabungkan, baru push lagi. Jangan memaksa dengan --force di branch bersama.
Mengambil: fetch vs pull
| Perintah | Fungsi |
|---|---|
git fetch | Mengunduh commit baru dari remote ke origin/main — tanpa mengubah branch dan berkasmu. Aman. |
git pull | fetch + gabungkan ke branch saat ini (merge, atau rebase dengan --rebase) |
Alur hati-hati: git fetch → git log main..origin/main (apa yang baru?) → git merge origin/main. Alur ringkas: git pull.
Remote-tracking branch
origin/main adalah "ingatan" lokalmu tentang posisi main di remote saat terakhir kamu berkomunikasi. Hanya fetch/pull/push yang memperbaruinya. git status memakainya untuk berkata "Your branch is ahead of 'origin/main' by 2 commits".
Autentikasi (di komputer asli)
- HTTPS + Personal Access Token: password akun tidak lagi diterima; buat token di pengaturan GitHub.
- SSH: buat kunci (
ssh-keygen -t ed25519), tambahkan kunci publik di GitHub, pakai URLgit@github.com:user/repo.git.
Di simulator KelasIT tidak ada login: remote "GitHub" disimulasikan di browsermu.