Modern Web Stack
Git

Git SCM

Git adalah salah satu sistem pengontrol versi (Version Control System) yang paling banyak digunakan. Sistem pengontrol versi bertugas mencatat setiap perubahan pada file proyek yang dikerjakan oleh banyak orang maupun sendiri. Git dikenal juga dengan distributed revision control (VCS terdistribusi), artinya penyimpanan database Git tidak hanya berada dalam satu tempat saja.

Instalasi Git

Windows

Download Git di sini (opens in a new tab). Setelah selesai, jalankan file installer yang telah di-download. Ikuti langkah-langkahnya sampai selesai.

Linux (Debian/Ubuntu)

Jalankan perintah di bawah ini di terminal Ubuntu kamu.

sudo apt-get install git

MacOS X

Download Git di sini (opens in a new tab). Setelah selesai, jalankan file installer yang telah di-download. Ikuti langkah-langkahnya sampai selesai.

Untuk bisa tahu apakah Git sudah terinstall, jalankan perintah di bawah ini:

git --version

Jika tampil Git dan versinya, berarti sudah terinstall. Bila tidak tampil, maka perlu untuk install Git terlebih dahulu.

Konfigurasi Git

Setelah Git terinstall, kita perlu mengonfigurasi Git agar dapat digunakan. Konfigurasi ini hanya dilakukan sekali saja.

Pastikan kamu sudah mendaftar akun GitHub (opens in a new tab). Kalau belum, bisa mendaftar akun GitHub (opens in a new tab) terlebih dahulu.

git config --global user.name "username github kamu"
git config --global user.email "email github kamu"

Contoh:

git config --global user.name "fulanbinbfulan"
git config --global user.email "fulanbinfulan@gmail.com"

Konfigurasi Default Branch

Setelah konfigurasi Git, kita perlu mengonfigurasi default branch (branch utama) agar menggunakan branch main secara global. Konfigurasi ini hanya dilakukan sekali saja.

git config --global init.defaultBranch main

Melihat Daftar Konfigurasi

Setelah melakukan konfigurasi, kamu dapat melihat daftar yang telah kamu konfigurasi. Caranya dengan menjalankan perintah di bawah ini:

git config --list

Kemudian akan tampil daftar yang telah dikonfigurasi. Jika belum ada, kamu harus mengonfigurasi kembali.

user.name=fulanbinbfulan
user.email=fulanbinbfulan@gmail.com
init.defaultbranch=main

Membuat Repositori Git

Repositori Git adalah tempat penyimpanan file proyek yang dikerjakan oleh Git. Untuk membuat repositori Git, buat folder/direktori baru, lalu jalankan perintah git init.

mkdir myproject
cd myproject
git init

git init: untuk membuat repositori pada file lokal yang nantinya ada direktori .git, direktori .git biasanya dalam keadaan hidden directory (direktorinya disembunyikan).

Menghapus Repositori Git

Repositori Git di file lokal dapat dihapus. Jika ingin mereset atau menghapus inisialiasi Git pada direktori proyek kita yang sebelumnya kita pernah menjalankan perintah git init. Caranya dengan menjalankan perintah di bawah ini:

rm -rf .git

Direktori .git akan terhapus pada direktori proyek kita.

Menambahkan File ke Repositori Git

Setelah repositori Git dibuat, kita dapat menambahkan file ke repositori Git tersebut. Untuk menambahkan file ke repositori Git, jalankan perintah git add <nama file>. Contoh:

git add index.html
# jika di dalam dir/folder
git add home/index.html

Jika ingin menambahkan semua, jalankan perintah berikut:

git add .

Membuat Commit

Setelah file ditambahkan ke repositori Git, kita dapat membuat commit. Commit adalah tanda bahwa file yang ditambahkan sudah selesai dikerjakan. Untuk membuat commit, jalankan perintah git commit -m "pesan commit". Contoh:

git commit -m "menambahkan fitur autentikasi sign in & sign up"

Melihat Log Commit

Setelah commit dibuat, kita dapat melihat log commit yang telah dibuat. Untuk melihat log commit, jalankan perintah git log.

git log

Membatalkan Perubahan

Setelah commit dibuat, kita dapat membatalkan perubahan yang telah dibuat. Untuk membatalkan perubahan, jalankan perintah git checkout <nama file>.

git checkout index.html
# jika di dalam dir/folder
git checkout home/index.html

Git Remote

Git remote adalah repositori Git yang berada di tempat lain. Git remote digunakan untuk menyimpan repositori Git di tempat lain.

Membuat Git Remote

Untuk membuat Git remote, buat repositori Git di tempat lain, lalu jalankan perintah git remote add origin <link repositori github>. Contoh:

git remote add origin https://github.com/username/repositori.git
# atau jika menggunakan SSH
git remote add origin git@github.com:username/repositori.git

Mengirim Commit ke Git Remote

Setelah Git remote dibuat, kita dapat mengirim commit ke Git remote tersebut. Untuk mengirim commit ke Git remote, jalankan perintah git push.

git push origin main

Kalau setelahnya bisa tanpa origin <branch>,

git push

Jika masih tidak bisa, gunakan git push origin <branch> kembali.

Mengambil Commit dari Git Remote

Setelah Git remote dibuat, kita dapat mengambil commit dari Git remote tersebut. Untuk mengambil commit dari Git remote, jalankan perintah git pull.

git pull origin main

Kalau setelahnya bisa tanpa origin <branch>,

git pull

Jika masih tidak bisa, gunakan git pull origin <branch> kembali.

Mengubah Pesan Commit

Kamu dapat mengubah pesan commit yang terakhir kali kamu kirimkan, dengan menjalankan git commit --amend, tekan Enter. Contoh:

git commit --amend
# atau langsung dengan menuliskan pesan commitnya
git commit --amend -m "pesan commit baru"

Setelah itu kirim/push ke github dari commit yang telah diubah dengan menjalankan perintah di bawah. Jangan lupa tambahkan -f atau --force.

git push -f origin <nama_branch>
# atau
git push -f

Referensi: Changing a commit message (opens in a new tab)

Git Clone

Membuat Git Clone

Git clone adalah command dalam Git yang digunakan untuk membuat salinan lengkap dari suatu repositori. Perintah ini meng-copy semua file, log, dan versi dari repositori asli ke direktori baru di komputer lokal pengguna.

Untuk membuat Git clone, ambil link repositori GitHub di tempat lain, lalu jalankan perintah git clone <link repositori github>. Contoh:

git clone https://github.com/username/repositori.git
# jika menggunakan ssh
git clone git@github.com:username/repositori.git

Git Branch

Membuat Branch

Branch adalah percabangan dari repositori Git. Branch digunakan untuk mengembangkan fitur baru tanpa mengganggu branch utama. Untuk membuat branch, jalankan perintah git branch.

git branch fitur1

Pindah Branch

Setelah branch dibuat, kita dapat pindah ke branch tersebut. Untuk pindah branch, jalankan perintah git checkout.

git checkout fitur1

Menggabungkan Branch

Setelah branch selesai dikerjakan, kita dapat menggabungkan branch tersebut ke branch utama. Untuk menggabungkan branch, jalankan perintah git merge.

git merge fitur1

Menghapus Branch

Setelah branch selesai dikerjakan, kita dapat menghapus branch tersebut. Untuk menghapus branch, jalankan perintah git branch.

git branch -d fitur1

Git rm dan reset

Menghapus File

Setelah file selesai dikerjakan, kita dapat menghapus file tersebut. Untuk menghapus file, jalankan perintah git rm.

git rm index.html
# jika di dalam dir/folder
git rm -r home/index.html

Menghapus Commit

Setelah commit selesai dikerjakan, kita dapat menghapus commit tersebut. Untuk menghapus commit, dengan menjalankan git reset --hard HEAD^ atau git reset --hard HEAD~1, tekan Enter. Contoh:

git reset --hard HEAD~1
# atau
git reset --hard HEAD^

Jika kamu ingin menghapus 2 commit terakhir sekaligus, kamu bisa menjalankan seperti perintah di bawah ini.

git reset --hard HEAD~2

Setelah itu kirim/push ke github dari commit yang telah diubah dengan menjalankan perintah di bawah. Jangan lupa tambahkan -f atau --force.

git push -f origin <nama_branch>
# atau
git push -f

Referensi: Removing the last commit (opens in a new tab)

Git Conflicts

Git conflicts adalah konflik yang terjadi ketika dua atau lebih orang mengubah file yang sama. Konflik ini terjadi karena Git tidak tahu perubahan mana yang harus digunakan.

Membuat Konflik

Untuk membuat konflik, buat branch baru, lalu ubah file yang sama di branch tersebut.

git checkout -b fitur1
git checkout -b fitur2

Mengatasi Konflik

Untuk mengatasi konflik, kita perlu memilih perubahan mana yang akan digunakan. Setelah itu, kita perlu membuat commit.

git add index.html
git commit -m "pesan commit"