Remote Collaboration
Bekerja dengan origin dan upstream: fetch, pull, dan push
Remote Collaboration
Remote adalah copy repository yang berada di server (GitHub). Kamu bekerja lokal, lalu sinkron ke remote.
Menambahkan Remote
Purpose: Menyetel remote agar repo lokal terhubung ke server.
Inputs: URL remote.
Outputs: remote bernama origin dan optional upstream.
Steps:
- Cek remote yang sudah ada.
- Tambahkan
origindanupstreamjika perlu. Pitfalls: remote salah URL membuat push gagal. Validation:git remote -vmenampilkan URL benar.
git remote -v
git remote add origin https://github.com/yourname/motion_webots.git
git remote add upstream https://github.com/ProgramBascorro/motion_webots.gitFetch dan Pull
Purpose: Mengambil update terbaru dari remote. Inputs: nama remote. Outputs: branch lokal tersinkron. Steps:
git fetchuntuk update data remote.git pulluntuk update sekaligus merge. Pitfalls: pull langsung tanpa melihat perubahan bisa menimbulkan konflik. Validation:git statusmenunjukkan branch up to date.
git fetch upstream
git pull origin mainPush Branch Kerja
Purpose: Mengirim commit ke remote agar bisa dibuka sebagai PR atau direview. Inputs: branch aktif. Outputs: branch di remote. Steps:
- Pastikan commit sudah rapi.
- Push branch ke origin.
Pitfalls: push ke
maintanpa izin tim. Validation: branch muncul di GitHub.
git push origin feature/ball-trackingJangan push langsung ke main tanpa koordinasi. Gunakan branch kerja.
Sinkron dengan Main (Workflow Tim)
Purpose: Menjaga branch kamu tetap update dengan perubahan tim.
Inputs: branch kerja dan upstream.
Outputs: branch kerja dengan commit terbaru dari main.
Steps:
- Fetch update dari upstream.
- Rebase atau merge ke branch kerja.
Pitfalls: rebase setelah push bisa mengubah history remote.
Validation:
git log --oneline --graphmenunjukkan history terbaru.
git fetch upstream
git checkout feature/ball-tracking
git rebase upstream/mainNext Steps
- Lanjut ke Undo & Recovery.