K

Command Palette

Search for a command to run...

Daftar

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:

bash
git push <nama_remote> <nama_branch_lokal>
  • <nama_remote>: Ini adalah nama alias buat repositori remote-mu. Kalau kamu ngikutin langkah sebelumnya pake git remote add origin ..., maka nama remote-nya adalah origin.
  • <nama_branch_lokal>: Ini adalah nama branch di komputermu yang mau kamu kirim commit-commitnya. Biasanya, branch utama kita namanya main (atau master buat proyek lama).

Jadi, perintah yang paling sering kamu pake buat nge-push branch main lokalmu ke remote origin adalah:

bash
git push origin main

Apa yang Terjadi Pas git push?

  1. Git bakal ngebandingin commit-commit yang ada di branch lokalmu (main) sama commit-commit yang ada di branch main di remote origin.
  2. Kalau ada commit di lokalmu yang belum ada di remote, Git bakal ngirim commit-commit baru itu ke remote.
  3. 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.

bash
git push -u origin main
  • Apa gunanya -u?
    • Dia gak cuma nge-push branch main lokalmu ke branch main di origin.
    • Dia juga bakal "nyambungin" atau "ngeset upstream" branch main lokalmu biar "ngelacak" branch main di origin.
  • Keuntungannya apa?
    • Setelah upstream-nya diset, lain kali kamu mau nge-push dari branch main lokal itu, kamu cukup ketik git push aja, gak perlu nulis origin main lagi. Git udah tau mau nge-push ke mana.
    • Begitu juga pas mau git pull (narik perubahan dari remote), kamu cukup git pull aja.

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.

bash
# 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:

  1. 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 ke main 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 coba git push lagi. (Kita bahas git pull di materi berikutnya).
  2. 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.

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 atau git rebase (topik advance) dan kamu yakin mau nimpa remote-nya.
  • KAPAN JANGAN PERNAH DIPAKE?
    • Jangan pernah git push --force ke branch yang dipake bareng-bareng sama tim (kayak main, develop)! Ini bisa ngilangin kerjaan orang lain dan ngerusak histori bersama. Bencana!
  • 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 kamu fetch, 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)?