Skip to content

Instantly share code, notes, and snippets.

@madeindra
Last active October 13, 2022 03:54
Show Gist options
  • Save madeindra/dfbe783c016499a69fa5a43be37f6f84 to your computer and use it in GitHub Desktop.
Save madeindra/dfbe783c016499a69fa5a43be37f6f84 to your computer and use it in GitHub Desktop.
Git Cheat Sheet

Git

Cara Install Git di Linux

  1. Buka terminal

  2. Masukkan perintah berikut, setelah perintah ini, kamu akan diminta untuk memasukkan password usermu.

Perintah ini bertujuan untuk mendownload & memperbarui informasi package dari server konfigurasi linux.

sudo apt update
  1. Masukkan perintah berikut untuk menginstall Git.
sudo apt install git -y
  1. Setelah selesai, pastikan Git terinstall dengan memasukkan perintah berikut
git --version
  1. Jika sudah terinstall, maka akan muncul pesan seperti ini. Angka yang ditampilkan bisa jadi berbeda, tapi ini tidak menjadi masalah.
git version 2.21.0

Cara Install Git di MacOS

  1. Buka terminal

  2. Install Brew jika belum memiliki Brew. Masukkan perintah berikut

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. Setelah selesai, pastikan Brew terinstall dengan memasukkan perintah berikut
brew --version
  1. Jika sudah terinstall, maka akan muncul pesan seperti ini. Angka yang ditampilkan bisa jadi berbeda.
Homebrew 3.0.9
  1. Install Git menggunakan brew dengan perintah berikut
brew install git
  1. Setelah selesai, pastikan Git terinstall dengan memasukkan perintah berikut
git --version
  1. Jika sudah terinstall, maka akan muncul pesan seperti ini. Angka yang ditampilkan bisa jadi berbeda, tapi ini tidak menjadi masalah.
git version 2.21.0

Konfigurasi Pertama Git

Setelah menginstall git, kita harus mengatur email dan password sebagai identitas kita. Gunakan perintah di bawah.

Jangan lupa sesuaikan email & nama kamu, direkomendasikan menggunakan nama & email yang sama dengan yang digunakan di Github.com

git config --global user.name "Nama Saya"
git config --global user.email "emailsaya@email.com"

Perintah dalam Git

Perintah Penjelasan Contoh
git init Mengimplementasikan git pada Work Directory. Hanya perlu dilakukan 1x pada sebuah work directory. git init
git add $path Menambahkan file tertentu dari Work Directory ke Staging Area. git add . untuk menambahkan semua file yang ada dalam Work Directory ke Staging Area
git commit -m "$pesan" Memindahkan file yang berada di Staging Area ke Local Repository & memberikan pesan sebagai informasi commit. git commit -m "memperbaiki masalah pada halaman home" untuk memindahkan semua file yang ada dalam Staging Area ke Local Repository
git push -u $nama_remote $nama_branch Mengunggah file yang berada di Local Repository ke Remote Repository. git push -u origin master untuk mengunggah file yang berada di Local Repository ke Remote Repository bernama origin dengan nama branch master
git status Menampilkan file-file yang mengalami perubahan di Work Directory dan Staging Area git status
git diff Menampilkan perubahan dari file-file yang mengalami perubahan di Work Directory git diff
git fetch --all Melakukan cek adanya perubahan di Remote Repository, biasanya dilakukan sebelum perintah pull git fetch --all
git pull $nama_remote $nama_branch Jika file yang berada di Remote Repository lebih baru dibanding file yang berada di Local Repository, unggah file tersebut ke Local Repository git pull origin master untuk mengunduh file terbaru yang berada di Remove Repository bernama origin dengan nama branch master ke Local Repository
git reset HEAD -- $path Mengembalikan file tertentu dari Staging Area ke Work Directory. git reset HEAD -- . untuk mengembalikan semua file yang ada dalam Staging Area ke Work Directory
git reset HEAD@{1} Mengembalikan file tertentu dari Local Repository yang di-commit terakhir ke Work Directory. git reset HEAD@{1} untuk mengembalikan semua file yang ada dalam Local Repository yang di-commit terakhir ke Work Directory
git remote -v Menampilkan nama dan alamat Remote Repository git remote -v
git remote add $nama_remote $alamat_remote Menambahkan nama & alamat Remote Repository, hanya bisa dilakukan jika namanya belum ada git remote add origin https://github.com/namasaya/repositorysaya.git menambahkan alamat Remote Repository dengan nama origin
git remote set-url $nama_remote $alamat_remote Mengubah alamat Remote Repository, hanya bisa dilakukan jika namanya sudah ada git remote set-url origin https://github.com/namasaya/repositorybaru.git mengubah alamat Remote Repository yang bernama origin
git remote remove $nama_remote Menghapus Remote Repository tertentu git remote remove origin menghapus alamat Remote Repository yang bernama origin
git remote show $nama_remote Menampilkan alamat Remote Repository tertentu git remote show origin menampilkan alamat Remote Repository yang bernama origin
git checkout -b $nama_branch Membuat branch baru di Local Repository dengan nama tertentu git checkout -b develop membuat branch baru dengan nama develop
git checkout $nama_branch Berpindah branch ke branch dengan nama tertentu, hanya bisa dilakukan jika branch sudah ada git checkout develop berpindah ke branch develop
git clone $alamat_remote Mengunduh repository ke perangkat https://github.com/madeindra/belajar-git akan mengunduh repository belajar- git ke perangkatmu

Mengunggah project ke Github.com

Jika belum ada Repository di Github, ikuti langkah-langkah ini

  1. Masuk ke github.com. Pastikan kamu sudah terdaftar ya.

  2. Pilih tanda + di pojok kanan atas, pilih Create new repository.

  3. Berikan nama repository yang unik, tidak boleh sama dengan repository kamu yang lain. Tidak boleh menggunakan spasi, ganti spasi dengan tanda -.

  4. Buat repository.

Jika sudah ada Repository di Github, ikuti langkah langkah ini

  1. Buat directory project di laptop kamu (jika belum ada).

  2. Buka terminal.

  3. cd ke directory project.

  4. Jalankan perintah init

git init
  1. Tambahkan alamat remote dengan perintah berikut. Sesuaikan nama-user dan nama-repository ya.
git remote add origin https://github.com/nama-user/nama-repository.git
  1. Untuk mengunggah ke Remote Repository jalankan perintah berikut. Perintah ini akan mengunggah ke Remote Repository origin dengan nama branch master

Secara default, jika kita baru membuat repository, nama branch kita adalah master.

git add .
git commit -m "tulis pesanmu disini"
git push -u origin master
  1. Ulangi step ke-6 ini setiap ada perubahan yang ingin kamu unggah ke Remote Repository.

Selamat belajar! :D

Ilustrasi Alur kerja dengan Git

Git Diagram

Sumber: https://support.nesi.org.nz/hc/en-gb/articles/360001508515-Git-Reference-Sheet

Download Project dari Github

  1. Buka halaman repository di github, misalnya https://github.com/madeindra/belajar-git

  2. Buka terminal, jalankan perintah berikut. Sesuaikan alamat dengan alamat repository yg ingin di-download.

git clone https://github.com/madeindra/belajar-git
  1. Tunggu sampai selesai, setelah itu directory baru akan muncul dengan nama yg sama dengan nama repository, dalam contoh ini, direktoori tersebut akan bernama belajar-git

Branch

Secara default, ketika kita menginisialisasi Git, kita akan otomatis diletakkan di branch master.

Branch master ini adalah tempat kita menyimpan kode dari project/program kita.

Seandainya kita ingin menambahkan sebuah fitur, misalnya project/program kita adalah website dan kita ingin menambahkan halaman baru, untuk mencegah terjadinya masalah pada project/program yang sudah ada saat ini, kita bisa menyalin project/program kita ini.

Salinan ini kita sebut branch.

Apa bedanya branch dengan menyalin dengan copy+paste?

Dengan branch kita bisa mengubah project/program salinan tersebut dan suatu saat kita bisa menggabungkannya ke project/program aslinya.

Dengan ini kita memiliki beberapa benefit:

  1. Project/Program kita tetap stabil, karena kita tidak melakukan perubahan secara langsung di project/program asli.

  2. Kita tetap bisa mencoba-coba merubah project/program asli, karena kita sudah membuat salinannya.

  3. Kita bisa menggabungkan perubahan tersebut ke program asli dan proses ini masih dilakukan dalam satu repository yang sama.

Masih banyak benefit lain, tapi saat ini kita cukup tahu sampai sini dulu.

Proses penggabungan sebuah branch ke branch lain disebut dengan Merge.

Di Github.com, proses Merge dilakukan dengan membuka permintaan Pull Request. Kalau di Gitlab.com hanya beda nama, Merge Request, beda nama tapi cara kerjanya sama.

Commit Ahead

Misalnya kita punya 2 branch: a. branch main sebagai branch utama / asli b. branch develop sebagai branch salinan dari main

Ketika kita menyalin dari branch main ke branch develop, ada kemungkinan di branch main terdapat pembaruan.

Hal ini sangat mungkin terjadi ketika kita bekerja dengan banyak orang.

Ketika di main terdapat pembaruan kode, tetapi pembaruan tersebut tidak ada di branch develop, ketika kita akan melakukan merge, otomatis kita akan diingatkan bahwa di branch main terdapat pembaruan yg belum ada di develop.

Yang harus kita lakukan adalah mengunduh pembaruan tersebut dari branch main ke branch develop, untuk itu kita akan menjalankan perintah berikut.

git pull origin main

Saat kita mengunduh dan tidak terjadi masalah, kita bisa langsung lanjut ke proses merge.

Tapi ada kemungkinan terjadi masalah, dalam Git masalah tersebut disebut dengan conflict.

Conflict bisa terjadi ketika pembaruan yg ada di branch asli dilakukan di file yang sama dengan yang kita ubah di branch salinan.

Jika terjadi conflict setelah proses pull, kita harus menyelesaikannya secara manual dengan cara buka project/program di IDE.

Setelah kita meyelesaikan konflik tersebut, kita perlu pindahkan lagi perubahan tersebut ke remote repository, setelah itu baru kita bisa melakukan proses merge

Untuk kasus Conflict, kamu bisa cek commit history dan pull request di https://github.com/madeindra/belajar-git.

Best Practice

  1. Github menawarkan 2 jenis alamat remote, HTTPS & SSH, apa bedanya?

Dengan HTTPS, terkadang kita diminta untuk memasukkan username & password saat push/pull. Dengan SSH, kita tidak perlu memasukkan username & password setiap push, tetapi kita harus membuat kunci SSH dulu & memasukkan kunci tersebut ke akun Github kita

  1. Jika bekerja dengan Git, sebaiknya memanfaatkan Branch.

branch master hanya untuk kode yang sudah siap dirilis ke publik branch develop untuk kode yang masih proses pengembangan, jika sudah diuji & siap rilis, lakukan merge/pull request ke branch master

  1. Jika bekerja dengan Git & tidak diperbolehkan mengunggah kode ke repository secara langsung, sebaiknya lakukan Fork.

https://github.com/perusahaan/website-perusahaan adalah repository perusahaan dan tidak boleh diupdate langsung di repository tersebut.

Lakukan fork dengan mengklik tombol fork yang ada di sisi kanan halaman repository tersebut, maka akan otomatis terbuat repository https://github.com/namakita/website-perusahaan.

Tujuan fork adalah agar kita bisa memantau perubahan di repository yang tidak bisa kita ubah tersebut, sehingga jika ada pembaruan, kita bisa mengunduh perubahan tersebut ke tempat kita.

Jika sudah perubahan yang kita lakukan sudah diuji & siap digunakan, lakukan merge/pull request ke repository perusahaan.

  1. Jika melakukan fork, sebaiknya atur 2 alamat remote

Alamat remote repository kita diberikan nama remote “origin” Alamat remote repository perusahaan diberikan nama remote “upstream”

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment