πŸš€ MAU JAGO GIT? Ini Penjelasan Lengkap Cheat Sheet-nya!


Sering lupa command Git saat coding? Jangan khawatir! Simpan postingan ini sebagai contekan harianmu.

Berikut adalah daftar lengkap perintah Git dari Cheat Sheet populer, lengkap dengan penjelasan fungsinya:

πŸ’‘ 1. Basic Concepts (Konsep Dasar)
Istilah kunci dalam Git.
* main
* Nama standar untuk branch pengembangan utama (default).
* origin
* Nama standar (alias) untuk repositori remote (sumber asli di internet).
* HEAD
* Penunjuk posisi Anda saat ini (current branch).
* HEAD^
* Merujuk ke commit induk (parent) atau satu langkah sebelum posisi HEAD.
* HEAD~4
* Merujuk ke buyut (great-great grandparent) atau 4 langkah sebelum posisi HEAD.

βš™οΈ 2. Setup (Pengaturan Awal)
Mengatur identitas penulis commit.
* git config –global user.name “Danny Adams”
* Menetapkan nama pengguna secara global untuk semua proyek.
* git config –global user.email “my-email@gmail.com”
* Menetapkan email pengguna secara global.

πŸš€ 3. Start a Project (Memulai Proyek)
Membuat atau mengambil repositori.
* git init <directory>
* Membuat repositori Git baru di folder lokal (jika <directory> dikosongkan, akan dibuat di folder saat ini).
* git clone <url>
* Mengunduh (download) repositori yang sudah ada dari internet (remote repo).

✍️ 4. Make a Change (Melakukan Perubahan)
Menyiapkan dan menyimpan perubahan file.
* git add <file>
* Menambahkan file tertentu ke staging area (siap untuk di-commit).
* git add .
* Menambahkan semua file yang berubah ke staging area.
* git commit -m “commit message”
* Menyimpan file yang ada di staging area ke dalam sejarah Git dengan pesan tertentu.
* git commit -am “commit message”
* Jalan pintas: Menambahkan semua file yang sudah dilacak (tracked) dan langsung melakukan commit (melewati langkah git add).

🌿 5. Branches (Cabang)
Mengelola percabangan kode.
* git branch
* Menampilkan daftar semua branch lokal.
* git branch -r
* Menampilkan daftar branch remote.
* git branch -a
* Menampilkan daftar semua branch (lokal & remote).
* git branch <new-branch>
* Membuat branch baru, tapi tidak langsung pindah ke sana.
* git checkout <branch>
* Pindah ke branch lain dan memperbarui direktori kerja.
* git checkout -b <new-branch>
* Membuat branch baru dan langsung pindah ke branch tersebut.
* git branch -d <branch>
* Menghapus branch (hanya jika sudah di-merge/digabungkan).
* git branch -D <branch>
* Memaksa menghapus branch (walaupun belum di-merge).
* git tag <tag-name>
* Memberi label/tag pada commit saat ini (biasanya untuk rilis versi, misal v1.0).

πŸ”€ 6. Merging (Penggabungan)
Menggabungkan kode dari satu branch ke branch lain.
* git checkout b
* Pindah ke branch tujuan (misal branch b).
* git merge a
* Menggabungkan branch a ke dalam branch saat ini (b).
* git merge –no-ff a (disebutkan di teks)
* Melakukan merge tanpa fast-forward (memaksa membuat commit merge baru agar sejarahnya terlihat jelas).
* git merge –squash a
* Mengambil semua perubahan dari branch a, memadatkannya menjadi satu perubahan saja, lalu di-merge (belum di-commit).

πŸ—οΈ 7. Rebasing (Menata Ulang Sejarah)
Memindahkan dasar branch agar sejarah lebih rapi (linear).
* git checkout feature
* Pindah ke branch fitur.
* git rebase main
* Memindahkan branch feature agar seolah-olah bercabang dari ujung terbaru main.
* git rebase -i main
* Melakukan rebase secara interaktif (bisa memilih commit mana yang mau disimpan, digabung, atau dibuang).
* git rebase -i Head~3
* Melakukan rebase interaktif hanya pada 3 commit terakhir.

↩️ 8. Undoing Things (Membatalkan Sesuatu)
Memperbaiki kesalahan atau membatalkan perubahan.
* git mv <existing_path> <new_path>
* Memindahkan atau mengganti nama file dan langsung men-stage perubahannya.
* git rm <file>
* Menghapus file dari direktori kerja dan staging area.
* git rm –cached <file>
* Menghapus file dari staging area saja (file aslinya tetap ada di folder komputer Anda).
* git checkout <commit_ID>
* Melihat kondisi kode pada masa lalu (Read Only / Detached HEAD).
* git revert <commit_ID>
* Membuat commit baru yang isinya membatalkan efek dari commit sebelumnya (aman untuk kolaborasi).
* git reset <commit_ID>
* Mundur ke commit masa lalu dan menghapus sejarah commit setelahnya.
* git reset –hard <commit_ID> (disebutkan di teks)
* Sama seperti di atas, tapi menghapus permanen semua perubahan di direktori kerja (Hati-hati!).

πŸ” 9. Review your Repo (Meninjau Repo)
Melihat status dan sejarah.
* git status
* Melihat file mana yang baru, diubah, atau sudah di-stage.
* git log –oneline
* Melihat riwayat commit dalam format ringkas (satu baris per commit).
* git diff
* Melihat perbedaan isi file yang belum di-stage.
* git diff –cached (disebutkan di teks)
* Melihat perbedaan isi file yang sudah di-stage.
* git diff commit1_ID commit2_ID
* Melihat perbedaan kode antara dua commit tertentu.

πŸ“¦ 10. Stashing (Menyimpan Sementara)
Menyimpan pekerjaan setengah jadi agar bisa pindah branch dengan bersih.
* git stash
* Menyimpan perubahan yang di-track ke dalam tumpukan penyimpanan sementara (stash stack).
* git stash -u (disebutkan di teks)
* Menyimpan perubahan termasuk file untracked (file baru).
* git stash save “comment”
* Melakukan stash dengan memberikan catatan/komentar.
* git stash -p
* Partial stash: Memilih potongan kode (hunk) mana saja yang mau di-stash.
* git stash list
* Melihat daftar semua simpanan stash yang ada.
* git stash apply
* Menerapkan kembali stash terakhir ke direktori kerja (tanpa menghapusnya dari list).
* git stash pop stash@{2}
* Menerapkan stash urutan ke-2 (index 2), lalu menghapusnya dari list stash.
* git stash show stash@{1}
* Melihat ringkasan file apa saja yang ada di dalam stash index 1.
* (Disebutkan di teks: tambah flag -p untuk melihat detail perbedaannya).
* git stash drop stash@{1}
* Menghapus stash index 1 dari daftar.
* git stash clear
* Menghapus semua simpanan stash.

☁️ 11. Synchronizing (Sinkronisasi)
Berinteraksi dengan repo remote (GitHub/GitLab/dll).
* git remote add <alias> <url>
* Menghubungkan repo lokal dengan repo remote baru (biasanya aliasnya origin).
* git remote
* Melihat daftar koneksi remote.
* (tambah flag -v untuk melihat URL lengkapnya).
* git remote remove <alias>
* Menghapus hubungan ke repo remote.
* git remote rename <old> <new>
* Mengganti nama alias remote (misal dari origin jadi tujuan).
* git fetch <alias>
* Mengambil data terbaru dari remote, tapi tidak menggabungkannya ke kode lokal Anda.
* git fetch <alias> <branch>
* Mengambil data terbaru dari branch spesifik di remote.
* git pull
* Mengambil data dari remote dan langsung menggabungkannya (merge) ke lokal (gabungan fetch + merge).
* git pull –rebase <alias>
* Mengambil data remote, lalu melakukan rebase perubahan lokal Anda di atasnya (untuk sejarah yang lebih bersih).
* git push <alias>
* Mengunggah (upload) commit lokal Anda ke remote.
* git push <alias> <branch>
* Mengunggah branch spesifik ke remote.

Jangan lupa Like & Share kalau bermanfaat! πŸ‘

#Git #Coding #Programming #Developer #TipsCoding #BelajarCoding #GitHub #SoftwareEngineering #ProgrammerIndonesia #CheatSheet #Teknologi

Leave a Comment