Git: Just Another Version Control?

Fadhlan Hazmi
PPL D7 — Fasilkom UI
4 min readApr 3, 2019
Image result for git medium

Sudah terlihat dari judul, git merupakan sebuah version control. Hanya itu? Lalu apa spesialnya git? Mari kita cari tahu lebih dalam.

Git merupakan sistem version control yang terdistribusi dan bersifat open-source. Git akan menyimpan informasi mengenai progress proyek yang dikerjakan di dalam sebuah repository. Terdistribusi disini berarti repository tidak hanya disimpan pada satu tempat saja, terdapat remote repository yang disimpan pada server seperti pada GitHub atau di repository lokal di laptop atau komputer kalian.

Why Git?

Apa spesialnya git? Apa yang membuat git lebih dari version control lain? Salah satu kelebihan git adalah menggunakan sistem terdistribusi, sedangkan version control lain menggunakan sistem tersentralisasi. Oleh karena itu, lebih mudah untuk bekerja secara parallel saat menggunakan git.

Selain itu, git juga sudah digunakan oleh hampir semua developer, sehingga git berkembang dengan pesat. Git juga mempunyai fitur-fitur yang sangat berguna seperti branch, merge, stash yang sangat membantu dalam workflow pembuatan sebuah aplikasi atau proyek.

Git’s Distributed System

Git Commands

Fitur-fitur yang sangat berguna itu akan kita jelaskan lebih mendalam. Setiap fitur pada git, biasanya memiliki command nya masing-masing untuk menjalankannya. Berikut beberapa command dan penggunaannya:

  • Pull

Perintah ini digunakan saat anda ingin melakukan update repository lokal anda dengan perubahan baru yang ada di remote repository. Contohnya, anda bekerja dengan tim anda dalam sebuah proyek dan orang lain didalam tim anda melakukan perubahan pada remote repository. Anda ingin memastikan repository lokal anda up-to-date dengan remote repository, maka anda melakukan:

git pull
  • Push

Perintah ini digunakan untuk mengupdate remote repository dengan repository lokal yang anda punya. Misalnya anda sedang bekerja pada branch lokal “fitur-1” dan ingin mengupdate pekerjaan yang sudah anda lakukan ke remote repository. Maka yang dilakukan:

git add .

untuk menambahkan semua file yang baru atau diubah. Sebelum melakukan push, anda juga harus commit terlebih dahulu.

git commit -m "commit message"

Setelah itu, baru melakukan push:

git push origin fitur-1
  • Clone

Perintah ini digunakan untuk membuat repository lokal dari remote repository. Cara melakukan clone adalah dengan:

git clone /path/to/repository

Contohnya:

git clone https://gitlab.com/fadhlanhazmi/project.git
  • Checkout

perintah ini digunakan saat ingin pindah branch atau melakukan undo pada perubahan yang dilakukan di repository lokal. Contohnya anda ingin pindah ke branch “fitur-asik”:

git checkout fitur-asik

atau jika anda ingin pindah ke branch “fitur-asik” namun branch tersebut belum ada.

git checkout -b fitur-asik

untuk melakukan undo pada sebuah file yang diubah, contoh pada file server.js, maka anda melakukan:

git checkout -- server.js
  • Stash

Stash dilakukan saat anda ditengah-tengah melakukan pekerjaan dan ingin menyimpan pekerjaan anda tanpa melakukan commit. Salah satu kasus yang dapat terjadi saat ingin pindah branch karena harus commit terlebih dahulu sebelum pindah, namun disisi lain kita belum ingin commit pekerjaan kita karena belum selesai. Maka perintah yang digunakan:

git stash save "save messages"

saat anda kembali lagi dari branch lain dan ingin mendapatkan kembali stash terakhir yang sudah disimpan, maka dilakukan:

git stash apply stash@{0}

jika ingin mendapatkan kembali stash dan membuang stash dari stash stack, maka dilakukan:

git stash pop stash@{0}
  • Merge

Perintah ini dilakukan saat anda ingin menggabungkan dua branch. Kasus yang sering terjadi adalah menggabungkan branch sebuah fitur dengan branch master. Proses merge akan mengintegrasi branch master dengan branch fitur dan history yang berubah hanya pada branch master dan history pada branch fitur tidak berubah.

merge dapat dilakukan dengan:

git checkout fitur
git merge master

atau bisa juga dengan:

git merge master feature
  • Rebase

perintah ini sedikit mirip dengan merge, yaitu mengintegrasi antara 2 branch. Perbedaannya rebase membuat history branch yang sudah di merge menjadi satu. Ilustrasi dapat dilihat pada gambar.

Cara melakukan rebase mirip dengan melakukan merge:

git checkout fitur
git rebase master

Sekian beberapa penjelasan dan perintah git yang saya sampaikan. Semoga tulisan yang saya buat dapat bermanfaat saat anda melakukan coding terutama saat menggunakan git. Sampai ketemu di tulisan saya yang selanjutnya!

--

--