Dorong Perubahan ke GitHub (git push)
Sudah punya commit di lokal dan repo di GitHub? Pelajari cara 'mendorong' (push) perubahan dari repositori Git lokalmu ke repositori remote di GitHub menggunakan perintah `git push`.
Pamerin Karyamu ke Dunia: "Ngedorong" Kode ke GitHub Pake git push
!
Udah berhasil bikin repositori di GitHub dan nyambunginnya sama repositori lokalmu pake git remote add origin ...
? Keren banget! Sekarang, "rumah online" buat kodemu udah siap.
Terus, gimana caranya biar semua commit keren yang udah kamu bikin di komputermu itu bisa nongol juga di GitHub? Nah, inilah saatnya kita pake perintah git push
!
git push
itu kayak kamu "ngedorong" atau "ngirim" semua catatan histori (commit) dari branch lokalmu ke branch yang sesuai di repositori remote (GitHub).
Perintah Dasar: git push origin <nama_branch>
Perintah paling dasar buat nge-push adalah:
git push <nama_remote> <nama_branch_lokal>
<nama_remote>
: Ini adalah nama alias buat repositori remote-mu. Kalau kamu ngikutin langkah sebelumnya pakegit remote add origin ...
, maka nama remote-nya adalahorigin
.<nama_branch_lokal>
: Ini adalah nama branch di komputermu yang mau kamu kirim commit-commitnya. Biasanya, branch utama kita namanyamain
(ataumaster
buat proyek lama).
Jadi, perintah yang paling sering kamu pake buat nge-push branch main
lokalmu ke remote origin
adalah:
git push origin main
Apa yang Terjadi Pas git push
?
- Git bakal ngebandingin commit-commit yang ada di branch lokalmu (
main
) sama commit-commit yang ada di branchmain
di remoteorigin
. - Kalau ada commit di lokalmu yang belum ada di remote, Git bakal ngirim commit-commit baru itu ke remote.
- Setelah selesai, histori commit di branch
main
remote-mu (di GitHub) bakal jadi sama kayak di lokalmu.
Sekarang, kalau kamu buka halaman repositorimu di GitHub, kamu bakal liat file-file dan commit-commitmu udah nongol di sana!
Push Pertama Kali: Opsi -u
(atau --set-upstream
) yang Berguna
Pas kamu pertama kali nge-push branch lokal baru ke remote (misalnya, pas pertama kali nge-push branch main
setelah git init
dan git remote add
), ada baiknya kamu pake opsi -u
atau --set-upstream
.
git push -u origin main
- Apa gunanya
-u
?- Dia gak cuma nge-push branch
main
lokalmu ke branchmain
diorigin
. - Dia juga bakal "nyambungin" atau "ngeset upstream" branch
main
lokalmu biar "ngelacak" branchmain
diorigin
.
- Dia gak cuma nge-push branch
- Keuntungannya apa?
- Setelah upstream-nya diset, lain kali kamu mau nge-push dari branch
main
lokal itu, kamu cukup ketikgit push
aja, gak perlu nulisorigin main
lagi. Git udah tau mau nge-push ke mana. - Begitu juga pas mau
git pull
(narik perubahan dari remote), kamu cukupgit pull
aja.
- Setelah upstream-nya diset, lain kali kamu mau nge-push dari branch
Jadi, buat push pertama kali sebuah branch, git push -u origin <nama_branch>
itu praktik yang bagus.
Mendorong Branch Lain
Kalau kamu kerja pake banyak branch (misalnya, kamu punya branch fitur-login
di lokal), kamu juga bisa nge-push branch itu ke remote biar bisa diliat orang lain atau buat backup.
# Misal kamu lagi di branch 'fitur-login' dan mau nge-pushnya
git push origin fitur-login
# Atau, kalau mau sekalian set upstream buat pertama kali:
git push -u origin fitur-login
Nanti di GitHub bakal otomatis dibikinin branch baru bernama fitur-login
juga.
Kapan Kamu Perlu git push
?
- Setelah kamu ngelakuin beberapa
commit
di lokal dan ngerasa perubahan itu udah cukup stabil atau signifikan buat dibagikan atau di-backup. - Sebelum kamu mau
git pull
dari remote (kadang bagus buat nge-push dulu kerjaan lokalmu biar gak ada konflik aneh kalau kamu lupa). - Secara berkala, biar kodemu aman di remote.
Potensi Masalah: Push Ditolak (Push Rejected)
Kadang, pas kamu git push
, Git malah nolak dan ngasih pesan error. Ini biasanya terjadi kalau:
-
Ada Perubahan Baru di Remote yang Belum Kamu Ambil:
- Misalnya, kamu kerja tim. Temenmu udah nge-push commit baru ke branch
main
di GitHub. Terus kamu mau nge-push commit-mu sendiri kemain
juga, tapi kamu belum ngambil (pull) commit-an temenmu itu. - Git bakal nolak push-mu karena histori lokalmu "ketinggalan" dari histori remote. Dia gak mau kamu nimpa kerjaan orang lain.
- Solusinya: Kamu harus
git pull
dulu buat ngambil perubahan dari remote dan ngegabunginnya sama kerjaanmu. Setelah itu baru cobagit push
lagi. (Kita bahasgit pull
di materi berikutnya).
- Misalnya, kamu kerja tim. Temenmu udah nge-push commit baru ke branch
-
Kamu Mencoba Nge-push ke Branch yang Terproteksi (Protected Branch):
- Di GitHub, branch utama (kayak
main
) seringkali dijadiin protected branch. Artinya, kamu gak bisa langsung nge-push ke situ, tapi harus lewat Pull Request dulu biar bisa direview. - Solusinya: Push ke branch lain (branch fiturmu), terus bikin Pull Request di GitHub buat ngegabunginnya ke
main
.
- Di GitHub, branch utama (kayak
git push --force
: Jurus Pamungkas yang Berbahaya!
Ada opsi git push --force
(atau -f
). Perintah ini bakal maksa Git buat nimpa histori di remote repository sama persis kayak histori lokalmu, gak peduli kalau ada perbedaan atau commit baru di remote.
- KAPAN BOLEH DIPAKE (DENGAN SANGAT HATI-HATI SEKALI)?
- Mungkin kalau kamu kerja di branch pribadimu sendiri (yang gak dipake orang lain) dan kamu baru aja "nulis ulang histori" lokalmu pake
git reset
ataugit rebase
(topik advance) dan kamu yakin mau nimpa remote-nya.
- Mungkin kalau kamu kerja di branch pribadimu sendiri (yang gak dipake orang lain) dan kamu baru aja "nulis ulang histori" lokalmu pake
- KAPAN JANGAN PERNAH DIPAKE?
- Jangan pernah
git push --force
ke branch yang dipake bareng-bareng sama tim (kayakmain
,develop
)! Ini bisa ngilangin kerjaan orang lain dan ngerusak histori bersama. Bencana!
- Jangan pernah
- Kalau terpaksa (dan yakin banget), ada opsi yang sedikit lebih aman:
git push --force-with-lease
. Dia bakal ngecek dulu apakah remote-nya udah berubah sejak terakhir kamufetch
, baru nge-force kalau belum.
Intinya: Buat pemula, sebisa mungkin hindari git push --force
. Selalu usahakan git pull
dulu kalau push ditolak.
git push
ini adalah jembatan penting antara kerjaan lokalmu dan "dunia luar" (GitHub). Dengan rajin nge-push, kodemu jadi lebih aman, bisa diakses dari mana aja, dan siap buat dikolaborasiin.
Ingat mantra buat push pertama kali sebuah branch: git push -u origin <nama_branch>
. Buat push berikutnya, cukup git push
aja (kalau kamu masih di branch yang sama dan upstream-nya udah diset).
Di materi selanjutnya, kita bakal belajar kebalikannya: cara "narik" perubahan dari GitHub ke komputermu pake git pull
dan git clone
.
Kuis Mendorong Perubahan ke GitHub (git push)
Pertanyaan 1 dari 4
Perintah Git apa yang digunakan untuk mengirim commit dari branch lokal Anda ke repositori remote (misalnya, di GitHub)?