Tutorial GIT secara singkat | init-add-commit-push
mrfdn.com - Beberapa tahun lalu, saya pernah berada di titik bingung—mau mulai pakai Git, tapi rasanya ribet banget!
Saat itu, saya cuma tahu Git itu version control buat kode, tapi gimana cara pakenya?
Sampai akhirnya, saya nekat coba langkah-langkah dasar ini, dan serius deh, hidup jadi lebih mudah. Kalau kamu pemula, ini panduan singkat dan padat tentang Git.
Baca juga cheat sheet Git lengkap
Daftar Isi
Apa Itu Git dan Kenapa Perlu Digunakan?
Git adalah version control system yang bantu kamu melacak perubahan kode. Intinya? Kamu bisa:
- Balik ke versi sebelumnya kalau ada yang “pecah.”
- Kolaborasi bareng tim tanpa harus kirim file “kode_baru_finalFINAL_v2.zip”.
- Lebih organized dan aman.
Install Git
Windows: Unduh dari git-scm.com dan ikuti wizard-nya. MacOS/Linux: Bisa langsung install lewat terminal:
sudo apt-get install git # Untuk Ubuntu
brew install git # Untuk Mac
pkg install git # Untuk FreeBSD
Tutorial git step by step
Setelah itu buat/login ke github lalu buat repository baru di github.
Kemudian buat git config untuk bisa login ke github melalui terminal.
git config --global user.name "Sarah Smith"
git config --global user.email "SarahSmith@mail.com"
git config --list
Setelah itu secara default anda akan menggunakan branch bernama main
.
Kemudah arahkan ke folder/direktory yang akan diupload ke github.
cd
mkdir Project
cd Project
Kemudian Login ke github anda kemudian buat repository baru.
Salin nama repository-nya. Kemudian jalankan perintah ini di dalam folder projek anda.
git remote add origin https://github.com/usernameanda/namarepoanda.git
Sekarang anda sudah siap mengirim / push ke github. Jalankan perintah berikut untuk mulai menghubungkan data di komputer anda ke repository yang telah dibuat di github.
- git init
- git add .
- git commit -m “pesan commit”
- git status
- git push -u origin main
- Masukkan username github anda
- Masukkan password token yang sudah didapatkan
Jika belum tahu password tokennya, silahkan generate dulu.
Password yang dimasukkan bukan password login github anda, tetapi generated token yang didapatkan melalui cara ini:
Cara mendapatkan password token github
- Klik tanda panah profil github anda
- Pilih setting
- Scroll ke bawah pilih Developer Setting di sebelah kiri
- Pilih Personal access tokens
- Pilih Generate new token
- Centang repo untuk bisa bekerja di seputar repository
Selanjutnya akan muncul sejumlah token, copy baris tersebut lalu simpan pada sebuah file supaya tidak hilang. Pilih no expired sehingga anda bisa tetap bisa menggunakan token ini selama system anda masih stabil.
Copas password generate token tersebut untuk mulai mengirim data anda ke repository github anda.
Demikian tutorial singkat tentang cara menggunakan git untuk mengirim data ke github. Cara ini dikenal juga dengan istilah git push.
Kalau lupa, urutannya seperti ini :
- git remote
- git config
- git init
- git status
- git add
- git commit
- git push
- git log
Cara menjalankan git push tanpa mengetik username dan password token github secara manual
Ini bisa dilakukan dengan format sebagai berikut.
git push https://<GITHUB_ACCESS_TOKEN>@github.com/<GITHUB_USERNAME>/<REPOSITORY_NAME>.git
Intinya catat dulu password token yang sudah didapatkan kemudian masukkan dalam format baris git push di atas.
Membuat branch baru berdasarkan branch yang sudah ada
Untuk menambahkan fitur pada sebuah tema hugo yang saya buat, saya selalu membuatnya pada sebuah branch yang terpisah dengan branch utama (main).
Misalnya saya ingin menambahkan fitur breadcrumb, maka terlebih dahulu saya pastikan berada di branch main lalu membuat sebuah branch bernama breadcrumb berdasarkan branch main.
//mengetahui branch yang sedang digunakan, pastikan ada di main
$ git branch
//membuat branch baru berdasarkan main
$ git checkout -b breadcrumb
Maka branch breadcrumb akan dibuat dan secara otomatis kita akan berganti ke branch baru bernama breadcrumb tersebut.
Menggabungkan 2 branch dengan git merge
Anggaplah kita sudah membuat fitur breadcrumbs, lalu kita ingin menggabungkannya dengan branch utama (main).
Pertama, silahkan lakukan commit terlebih dahulu di branch breadcrumb, commit saja, tidak perlu push.
Lalu pindah ke branch main.
Pada branch main ini kita jalankan perintah git merge.
//mengetahui branch yang sedang digunakan, pastikan ada di main
$ git branch
//melakukan commit terhadap branch yang yang sedang dibuat (misalnya pada branch breadcrumb)
$ git commit -am "pesan commit dari branch breadcrumb"
//pindah ke branch main
$ git checkout main
//melakukan commit terhadap branch main
$ git commit -am "pesan commit dari branch main sebelum di merge"
//menggabungkan git branch breadcrumb dengan branch main
$ git merge breadcrumb
Mengatasi masalah / error git
Kadang ketika sudah bekerja dengan git, kita mengalami beberapa kendala seperti :
- Tidak bisa push ke repository
- Terdapat eror dengan pesan yang sulit untuk dipahami
Berikut tutorial git sebagai pengalaman pribadi untuk mengatasi masalah yang sering ditemukan saat menggunakan git.
Mengatasi tidak bisa push di repository github ! [rejected] main -> main (fetch first)
Eror ini terjadi pada saat kita push ke repository sendiri tetapi isinya sudah tidak sesuai dengan local.
Ini terjadi karena repo yang ada di remote repository (github/gitlab/etc) sudah di push terlebih dahulu dari pada yang ada di local.
Misalnya, kita sudah membuat/update file readme sendiri di github, bukan dari local lalu di-push ke repo.
Cara mengatasi eror ini adalah jangan melakukan git pull
saja, tetapi ketik git pull --rebase
.
Ini untuk mensinkronkan perubahan yang telah dilakukan di repo dengan local
Tidak perlu mengetik git init
, apalagi melakukan git push -f
karena itu akan menghapus semua jejak push yang pernah dilakukan.
Setelah itu langsung push saja, git push -u origin main
Pastikan sudah git add .
lalu git commit -m "pesan"
Tunggu sampai selesai.
Mengatasi tidak bisa push ke repository ! [rejected] main -> main (non-fast-forward)
Simplenya adalah cukup dengan clone repository ke local, kemudian timpa isinya dengan local file yang siap dipush.
Tapi jika anda menemukan pesan eror seperti ini :
! [rejected] main -> main (non-fast-forward)
error: failed to push some refs to 'https://github.com/yourusername/yourrepo.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Lakukan cara yang seperti di atas,
git pull --rebase
Jika berhasil alias tidak ada konflik, maka perubahaan yang ada akan otomatis merge dengan repo local kamu. Lanjutkan saja dengan push.
git push
Tetapi jika terdapat konflik maka, lakukan
git rebase --abort
Kemudian lakuan pull seperti biasa
git pull
Cara ini mengharuskan kamu untuk mengedit file secara manual, untuk memperbaiki bagian yang konflik.
Mengatasi OpenSSH Authentication Passphrase Request saat hendak melakukan git push
Jika anda menemukan pesan seperti ini saat hendak push ke repository, anda tidak akan bisa melakukan copy paste password token yang sudah pernah dibuat, tetapi harus diketik secara manual.
Ini akan sangat ribet karena mengingat password token git itu cukup panjang dan sulit untuk diingat.
Jadi disini kita menggunakan cara yang berbeda sebelum melakukan push. Kita definisikan username dan password token kita pada remote repository.
git remote set-url origin https://username:token@github.com/username/namarepo.git
Setelah itu jalankan perintah git push
seperti biasa.
Dengan cara ini anda tidak perlu lagi copy paste password token github. Lebih menghemat waktu.
Untuk mengetahui pengaturan pada repo local anda, jalankan saja git config --list
.
Membatalkan git add sebelum commit
Suatu hari saya tidak sengaja menjalankan perintah git add .
pada folder yang salah.
Baca : Membuat konfigurasi dotfile untuk github
Akhirnya semua file dan folder yang terdapat pada direktori tersebut itu dalam list commit. Ini bisa dilihat melalui git status
.
Saya tidak ingin membatalkan git add . perintah yang terakhir.
Caranya cukup jalankan
git reset
Lalu saya pun bisa kembali melakukan add pada file tertentu saja.
Menghapus file / folder dari github, bukan di local
Command ini sama juga dengan istilah untrack folder / file tertentu.
Misalnya kita sudah terlanjur push sebuah folder ke github, lalu kita ingin menghapusnya. Maka jalankan saja perintah ini.
git rm -r --cached /path/folder/yang/ingin/diuntrack
Menghapus branch yang ada di repo tapi tidak ada di local
Jika memeriksa repository anda lalu menemukan branch ada pada repo tapi sebenarnya sudah dihapus melalui local, lalu anda ingin menghapus yang ada di repo tersebut supaya terlihat sync dengan yang ada di local.
Misalnya, branch master yang ingin dihapus pada repo.
Cukup jalankan perintah ini.
git push origin --delete nama-branch-yang-mau-dihapus
contohnya git push origin --delete master
Setelah itu jalankan perintah
git fetch -p
-p artinya prune.
Supaya branch yang ada di repo semuanya jadi sinkron.
Demikian tutorial git singkat lengkap dengan cara menggunakan git untuk pemula serta cara mengatasi eror nya.
Artikel ini akan terus diupdate seiring masalah yang ditemui oleh admin, sebagai bagian dari pembelajaran. Semoga bermanfaat. :)