Git Push
Terakhir diperbarui
git push mengunggah commit di branch lokalmu ke pasangannya di remote (seperti GitHub). Kalau branch sudah punya upstream, git push biasa sudah cukup; push pertama untuk branch baru memakai -u untuk membuat branch di remote dan menyiapkan tracking, sehingga push dan pull berikutnya tidak perlu argumen.
Coba perintah-perintah ini di playground terminal: shell sungguhan di browsermu, tanpa perlu instalasi.
Sintaks
| Perintah | Fungsinya |
|---|---|
git push | Push branch saat ini ke upstream-nya |
git push -u origin feature | Push branch baru dan atur upstream |
git push origin main | Push ke remote dan branch tertentu |
git push --tags | Push semua tag lokal |
git push --force-with-lease | Force push dengan aman setelah rebase |
Kasus umum
| Tujuan | Perintah |
|---|---|
| Push branch yang benar-benar baru | git push -u origin feature |
| Push setelah upstream diatur | git push |
| Push satu tag | git push origin v1.0.0 |
| Hapus branch remote | git push origin --delete feature |
Contoh langkah demi langkah
| Langkah | Perintah | Hasil |
|---|---|---|
| 1 | git remote add origin <url> | Menghubungkan repositori lokal ke remote dengan nama origin |
| 2 | git push -u origin main | Membuat main di remote dan menjadikannya upstream untuk main lokalmu |
| 3 | git push | Setiap push berikutnya di main tidak perlu argumen |
Pertanyaan seputar git push
Apa fungsi git push?
Perintah ini mengirim commit yang ada di branch lokalmu tapi belum ada di branch remote, lalu memindahkan branch remote agar sama. Yang diunggah hanya commit: perubahan yang belum di-commit tetap di komputermu, jadi commit dulu. Kalau remote punya commit yang tidak kamu miliki, push ditolak sampai kamu pull atau rebase.
Bagaimana cara push branch baru ke remote?
git push -u origin <branch>. Opsi -u (singkatan dari --set-upstream) membuat branch di remote dan menghubungkan branch lokalmu ke sana, sehingga setelahnya git push dan git pull biasa berjalan tanpa argumen. Branch di remote belum ada sampai push pertama ini.Kenapa git push bilang 'no upstream branch'?
git push -u origin <branch> untuk membuat branch di remote dan mengatur upstream. Setelah itu, git push saja sudah tahu ke mana commit harus dikirim.Bagaimana cara push tag?
git push origin <tagname>, atau push semuanya sekaligus dengan git push --tags. Ini jebakan yang sering terjadi: tag yang kamu buat secara lokal tidak akan muncul di remote sampai kamu push secara eksplisit.Bagaimana cara force push dengan aman?
git push --force-with-lease, bukan --force. Opsi ini hanya menimpa remote kalau belum ada orang lain yang push sejak fetch terakhirmu, sehingga pekerjaan rekan timmu terlindungi. Lihat halaman git force push untuk penjelasan lengkapnya.Apa arti git push -u origin main?
origin adalah remote-nya (lihat git remote), main adalah branch-nya, dan -u menjadikan branch remote itu sebagai upstream untuk main lokalmu. Ini perintah yang ditampilkan GitHub untuk repositori baru: setelah dijalankan sekali, git push dan git pull di main tidak perlu argumen lagi.Apa bedanya git push dan git pull?
git push mengunggah commit lokalmu ke remote; git pull mengunduh commit baru dari remote dan menggabungkannya ke branch-mu. Push yang ditolak sebagai non-fast-forward biasanya berarti kamu perlu pull dulu. Lihat git fetch vs pull untuk tahu apa yang dilakukan pull di balik layar.Bisakah saya berlatih ini secara online?
git push di shell sungguhan di browsermu, tanpa perlu instalasi. Kursus Git interaktif gratis dari Coddy juga membahas cara bekerja dengan remote langkah demi langkah.