Git Manual untuk Kamu yang Baru Memulai

Photo by Christina Morillo from Pexels

Dalam pengembangan suatu perangkat lunak, mungkin seringkali kita mendengar istilah version control dan git. Konon, git memudahkan proses pengembangan perangkat lunak secara kolaboratif. Sebelum mengetahui cara kerja dari git, mari membahas apa sih Git itu?

Apa Itu Git?

Diambil dari https://git-scm.com/, Git merupakan salah satu jenis version control system yang gratis dan open-source yang dirancang untuk menangani semua projek, mulai dari kecil hingga besar, dengan kecepatan dan efisiensi. Dari penjelasan tersebut muncul sebuah istilah baru yang mungkin terdengar asing, yaitu version control system. Jadi, apa itu version control system?

Version control system (VCS) adalah sistem yang merekam perubahan yang dilakukan pada suatu atau sekumpulan file (kode) dari waktu ke waktu sehingga penggunanya dapat mengembalikan suatu versi spesifik yang diinginkan nantinya. Ringkasnya, VCS mampu menyimpan berbagai versi dari kode yang diubah seiring berjalannya waktu, untuk bisa digabungkan, dibandingkan, bahkan dikembalikan menjadi versi tertentu.

Sebagai software developer, penggunaan VCS sangat membantu untuk pengerjaan proyek kolaboratif karena VCS juga bisa mendeteksi siapa yang melakukan perubahan pada kode, sehingga bisa mengetahui bagaimana suatu isu bisa muncul. Jadi tak perlu panik apabila kode yang kamu buat malah memunculkan suatu isu, karena VCS bisa mengembalikan kode ke versi sebelumnya.

Git merupakan salah satu jenis VCS yang populer digunakan saat ini, termasuk dalam pengerjaan proyek PPL 2021. Selanjutnya, mari melihat panduan untuk mulai menggunakan Git!

Bagaimana Cara Menggunakan Git?

1. Pastikan kamu sudah menginstall Git dan mempunyai akun!

Sebelum masuk ke command penggunaan Git, kita harus memastikan bahwa kita memiliki akun Git dan mengunduh Git ke perangkat. Untuk membuat akun, ada dua opsi akun git yang biasa digunakan dan bisa kamu pilih, yaitu Gitlab dan Github.

2. Konfigurasi awal

Kamu perlu melakukan konfigurasi email dan username git sebelum memulai. Hal ini dapat dilakukan dengan menggunakan command di bawah:

git config --global user.name "username_anda"
config --global user.email "nama@emailanda.com"

Setelah selesai, kamu dapat menggunakan command di bawah untuk melihat daftar informasi tentang konfigurasi git termasuk email dan username

git config -l

Jika sudah sesuai, saatnya mulai menggunakan git!

3. Menginisialisasi Repositori Git

Semuanya bermula dari menginisialisasi repositori git. Repositori ini akan menjadi tempat kamu bekerja dengan git. Cara yang dapat digunakan untuk membuat repositori baru adalah dengan menggunakan command ini pada terminal:

# ubah ke direktori tempat membuat repositori
cd /file/path/to/code
# membuat repositori
git init

Atau jika ingin membuat salinan dari repositori yang sudah ada online, dapat dilakukan dengan menggunakan command:

git clone <link_http_repo>

Link http untuk command di atas bisa didapatkan dari halaman repositori pada website git seperti pada gambar berikut:

Setelah selesai, pastikan lagi kamu berada di direktori yang tepat untuk menyimpan kode yang dibuat.

4. Track perubahan yang dibuat

Pada tahap ini kamu bisa mulai menambah atau mengubah file yang ada pada repositori lokal (working directory). Setelah itu, tambahkan perubahan ke dalam index/stage dengan command:

# Menambahkan perubahan suatu file
git add <nama_file>
# Menambahkan perubahan untuk seluruh file yang diubah
git add .

Saatnya melakukan commit untuk perubahan yang telah kamu buat. Commit dapat dilakukan dengan mengetikkan command di bawah:

git commit -m "pesan_commit"
# contoh: git commit -m "UI Login Page"

Berikut adalah contoh pengimplementasian command git add dan commit pada pengerjaan proyek PPL:

Seperti yang terlihat, git akan menampilkan jumlah perubahan, baik penambahan atau penghapusan. Commit message pada gambar di atas merupakan message untuk menginisialisasi test yang gagal karena belum dibuat implementasinya.

Sekarang perubahan yang kamu buat siap untuk dikirim ke remote repository. Namun sebelumnya, kamu dapat mengecek status dari repositori dengan command di bawah, untuk melihat file yang sudah dan belum di-commit.

git status

Jika repositori baru dibuat, kamu perlu melakukan satu langkah terlebih dahulu sebelum melakukan push. Buatlah project pada website git kamu, kemudian hubungkan dengan command:

git remote add origin <link project git>

Saatnya push! Perubahan yang kamu buat dapat dikirim ke remote repository dengan command:

git push origin master

Command di atas akan mengirim perubahan ke branch master, yang merupakan default branch. Nama branch bisa disesuaikan dengan branch yang ingin dituju. Berikut adalah contoh pengimplementasiannya:

Pada gambar di atas, saya melakukan push ke branch lain karena perubahan yang dibuat merupakan bagian dari fitur lainnya yang terletak di branch yang berbeda. Kamu bisa melakukan hal ini dengan command

git push origin <branch_asal>:<branch_tujuan>

Sekarang perubahan kode kamu sudah dapat dilihat di remote repository!

BRANCHING

Branching merupakan salah satu fitur yang bisa kamu lakukan pada git. Branch yang dimaksud disini merupakan cabang dari repositori yang biasanya digunakan untuk mengembangkan fitur secara terpisah. Misal, dibuat satu branch untuk mengembangkan halaman homepage, kemudian ada branch lainnya yang dibuat untuk mengembangkan fitur profile. Ketika kode di kedua branch tersebut sudah rampung dan tidak bermasalah, isi dari kedua branch dapat digabungkan.

Untuk membuat branch baru dapat menggunakan command:

git checkout -b nama_fitur

Pindah ke branch lainnya:

git checkout nama_branch

Menghapus suatu branch:

git branch -d nama_branch

Melihat daftar nama branch:

git branch

PULL

Untuk melakukan update terhadap repositori kamu yang mungkin terjadi perubahan pada remote repository dapat dilakukan dengan command:

git pull origin <nama_branch>

contoh:

Command pada gambar di atas dapat diartikan kita melakukan pull terhadap seluruh perubahan yang ada pada branch staging ke local.

MERGE

Untuk menyatukan branch saat ini dengan branch lainnya, dapat dilakukan dengan command:

git merge nama_branch

REBASE

Selain merge, git mempunyain command rebase yang dapat digunakan untuk menggabungkan pekerjaan pada git. Cara kerjanya berbeda dengan git merge, karena hasil akhir dari rebase akan terlihat lebih rapih dan linear. Proses dari rebase dapat divisiualisasikan seperti bertikut:

https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase

git rebase akan memindahkan basis dari suatu branch menuju ujung branch yang dituju, kemudian memindahkan commit dari branch asal tersebut tanpa membuat commit baru, tidak seperti git merge. Penggunaan git rebase tidak disarankan digunakan untuk proyek yang dikerjakan banyak orang, karena menghilangkan history commit pada branch asal. Untuk menggunakan rebase dapat menggunakan command:

git checkout <branch_asal>
git rebase <branch_tujuan>

MERGE VS REBASE

Seperti yang sudah disebutkan sebelumnya, merge dan rebase merupakan fitur yang sama-sama dapat menggabungkan pekerjaan di beberapa branch, jadi apa bedanya?

Jika dilihat pada ilustrasi di atas, perubahan yang dilakukan pada branch feature akan digabungkan dengan perubahan yang dilakukan pada branch master jika menggunakan merge, yang kemudian akan menghasilkan suatu commit yang baru — commit merge, yang menyatakan bahwa perubahan pada branch feature di-merge dengan branch master. Sedangkan jika melakukan rebase, git tidak menciptakan commit yang baru, melainkan memindahkan satu per satu commit pada branch asal ke branch yang dituju pada command rebase. Inilah mengapa penggunaan dari rebase akan terlihat lebih rapih, namun tidak disarankan digunakan jika proyek yang dikerjakan berkolaborasi dengan banyak pihak.

STASH

Git stash menyimpan perubahan yang kamu buat di working directory sementara agar kamu bisa mengerjakan hal lain terlebih dahulu, untuk kemudian kembali menerapkannya lagi. Stash berguna jika kamu butuh mengerjakan hal yang lain dengan cepat namun yang kamu kerjakan belum siap untuk di-commit.

Command di bawah ini dapat digunakan untuk melakukan stash terhadap perubahan yang belum di-commit:

git stash

Untuk kembali menerapkan kode yang sudah berada di stash, dapat dilakukan dengan command:

git stash pop

Perlu diperhatikan bahwa command di atas menerapkan kembali kode yang sudah dibuat, namun menghapus pada stash. Untuk tetap menyimpan kode dalam stash namun tetap mengaplikasikan kode kembali, dapat dilakukan dengan command di bawah:

git stash apply

REVERT

Seperti yang sudah disebutkan sebelumnya, salah satu keuntungan penggunaan VCS adalah dapat mengembalikan ke versi sebelumnya. Penggunaan command git revert akan membantu kamu untuk itu. Git revert berfungsi seperti melakukan undo terhadap suatu commit. Namun yang membedakannya adalah, git revert tidak menghapus commit yang sebelumnya melainkan menggabungkannya dengan commit terakhir.

https://www.petanikode.com/git-checkout-reset-revert/

Cara penggunaan git revert adalah dengan command:

git revert <commit_hash>

That’s all! Semua yang sudah dijelaskan di atas merupakan command yang biasa digunakan dalam penerapan git. Tentunya masih banyak kegunaannya yang bisa kamu eksplor! Selamat mencoba!

Computer Science, University of Indonesia

Computer Science, University of Indonesia