Version control system, atau singkatan dari vcs adalah sebuah control terhadap beberapa file yang dapat diatur versi atau mungkin anda pasti tau fitur di Microsoft Office yaitu Autosave atau klo di dunia game balapan yaitu Checkpoint?
Yap sama halnya dengan istilah di balapan game-game kita bisa kembali ke savepoint sebelumnya jika apa yang telah kita kerjakaan terjadi corrupt atau reset ke checkpoint tertentu.
Ada beberapa aplikasi untuk mengimplementasikan version control system, diantarnya:
- git
- apache subversion (SVN)
- Mercurial
Git Version Control System
Zaman now, perusaahan-perusahaan mewajibkan developer untuk memahami version control minimum menggunakan git. Git Version Control System, mengapa menggunakan git? jawabanya yaitu open-source, mudah digunakan dan banyak di implementasikan oleh perusaahan besar.
Ada beberapa Istilah yang yang harus di pahami oleh developer yaitu seperti berikut:
init
add
status
commit
log
branch
checkout
reset
tags
merge
init
Perintah init
adalah perintah untuk membuat project git, perintah ini biasanya hanya dilakukan satu kali saja yaitu pada saat folder yang anda inginkan menjadi project git (terdapat folder .git
dalam root project).
printahnya:
git init
add
Perintah add
biasanya digunakan untuk melakukan indexing terhadap file, atau istilah lainya melakukan system tracking terhadap perubahan suatu file. contoh pengunaannya adalah sebagai berikut:
git add filename.ext
atau anda dapat melakukan traking filenya lebih dari satu file
git add filename1.ext filename2.ext dst..
atau selain itu juga anda bisa menambahkan semua filenya berubah dengan menggunakan perintah seperti berikut:
git add .
status
Perintah status
itu digunakan untuk mengecek status database git engine, atau perubahan file yang terjadi seperti status file belum di commit, status up to date dan lain-lain. Penggunaannya seperti berikut:
git status
commit
Perintah commit
digunakan untuk mengimpan perubahan terhadap satu atau lebih file secara permanen atau melakukan checkpoint seperti pada game yang saya ceritakan di awal tadi. Cara penggunaan perintahnya sebagai berikut:
git commit -m "commit file"
note untuk perintah commit
ini yang paling penting adalah messagenya yaitu harus mewakili kita melakukan sesuatu, jadi jangan menggunakan kata-kata yang membuat ambigu contohnya minor bugs
, fixing bugs
tetapi seharusnya menyebutkan dengan detail contohnya fixing bugs fitur a, b, c dan penambahan fitur d
atau fixed #1 fitur x
. Dengan tujuan kita mengetahui fitur atau bugs apa saya yang sudah di fixing atau error yang telah di perbaiki.
log
Perintah log
digunakan untuk melihat daftar atau list commit yang telah dilakukan sebelumnya, nah perbedaannya dengan perintah status
adalah jika perintah log
melihat keseluruhan commits
sedangkan untuk status
melihat perubahan currently atau sekarang atau terbaru. Perintahnya seperti berikut:
git log
atau
# perintah untuk menampilkan informasi yang lebih sedikit
git log --oneline
branch
Perintah branch
atau branch
itu ibaratnya kita memiliki folder dalam satu project git. default branch
yang kita miliki adalah master
, kita juga bisa membuat branch
yang kita buat sendiri artinya kita bisa membuat copy project tersebut. Perintahnya sebagai berikut:
# untuk melihat branch yang ada
git branch
# untuk membuat brach yang baru berdasarkan copy project saat ini
git checkout -b nama-branch
# untuk pindah branch
git checkout nama-branch
# untuk menghapus branch
git branch -d nama-branch
note penggunaan nama branch biasanya menggunakan code fiture atau fixing-issue tertentu contoh issue-01
, bugs-020
, issue-security-06
dan lain-lain. biasanya penggunaan branch ini adalah untuk mengembangkan fitur, fixing bugs jadi tidak menggangu branch default yaitu master, jadi ketika sudah biasanya akan di merge
ke branch default yaitu master.
reset
Perintah reset
biasaya digunakan untuk melakukan pembatalan beberapa contohnya membatalkan indexing (add
) supaya statusnya menjadi unstages, membatalkan commit dengan beberapa mode yaitu soft
, mixed
, merge
, keep
dan hard
. Contoh penggunaanya seperti berikut:
# untuk melakukan unstage
git reset
# untuk mereset commit ke commit sebelumnya
git reset [ --soft | --mixed | --merge | --keep | --hard ] commit-id
tags
Perintah tags
biasayanya digunakan untuk menandai versi aplikasi seperti releash
, alpha
, beta
, releash-candidat
dan lain-lain. Contoh penggunaannya sebagai berikut:
# list tags
git tag
# membuat tags
git tag nama-tag
git tag -d nama-tag
merge
Perintah merge
biasanya bisa digunakan dengan syarat memiliki lebih dari 1 branch, penggunaanya yaitu untuk menggabungkan perubahan terhadap suatu branch ke branch lainnya. Contoh penggunaannya:
git merge branch-sekarang branch-target