Git: Version Control System

Hema Mitta Kalyani
LEARNFAZZ
Published in
3 min readMar 31, 2019
Sumber: guides.beanstalkapp.com

Version Control System (VCS)

Version Control System (VCS) adalah sistem penyimpanan yang mencatat perubahan yang dapat dipanggil kembali pada versi yang diinginkan. VCS dapat memudahkan kita untuk menelusuri sejarah perubahan kode serta memahami alasan mengapa kode-kode tersebut diubah. Hal ini tentunya sangat membantu para developer untuk mengembangkan suatu aplikasi khususnya pada proyek yang dikerjakan secara bersamaan dalam tim.

Git

Git merupakan salah satu VCS yang populer di dunia Software Engineering saat ini. Salah satu perbedaan antara Git dengan VCS lainnya adalah caranya memperlakukan data. VCS lain memperlakukan informasi yang disimpannya sebagai sekumpulan berkas dan perubahannya yang terjadi. Di sisi lain, Git memperlakukan data sebagai sebuah kumpulan snapshot dari sebuah miniatur sistem berkas. Setiap kali dilakukan commit, Git merekam gambaran keadaan berkas-berkas anda pada saat itu dan menyimpan referensi untuk gambaran tersebut. Ilustrasi snapshot dapat dilihat pada gambar di bawah ini.

Sumber: git-scm.com

Bentuk berwarna merah menandakan versi yang disimpan. Sementara bentuk berwarna hijau di bawahnya mengilustrasikan file-file pada versi tersebut. Garis yang putus-putus menandakan bahwa tidak ada perubahan pada file tersebut dari versi sebelumnya, dan Git tidak akan menyimpan berkas tersebut melainkan hanya pada file yang sama yang sebelumnya telah disimpan.

Berikut adalah beberapa perintah atau istilah yang sering digunakan pada Git:

  1. Git Pull: memperbarui local repository dengan melakukan update dan merge pada berkas yang ada di original repository
  2. Git Push: mengirimkan perubahan ke cabang master atau cabang lain pada remote repository
  3. Git Clone: membuat salinan repository ke direktori lokal
  4. Git Merge: menggabungkan cabang yang aktif dan cabang yang dipilih
  5. Git Rebase: mensimulasikan cabang paling baru dengan menerapkan commit di atas base lain (penggabungan antara merge dan checkout)
  6. Git Revert: melakukan undo untuk commit yang sudah dilakukan
  7. Git Stash: menghilangkan perubahan pada current working directory dan kembali ke clean working directory. Current working directory artinya cabang tempat kita sedang bekerja dan cabang yang mengalami perubahan. Jika sudah melakukan modifikasi, maka state dari cabang ini akan menjadi ‘dirty’, biasanya ditandai dengan ‘Changes to be committed’ dan ‘Changes not staged for commit’. Sedangkan clean working directory adalah cabang yang tidak mengandung perubahan, ditandai dengan ‘nothing to commit, working directory clean’.
  8. Git Remote: mengelola remote repository yang dilacak oleh local repository
  9. Git Checkout: menukar cabang yang aktif dengan cabang yang dipilih
  10. Git Branch: melihat seluruh branch yang ada pada repository

Git Flow PPL

Pada pengerjaan proyek, kami menggunakan alur kerja yang ditetapkan sebelumnya di mana proyek dibagi menjadi beberapa cabang, yaitu:

  1. Cabang Master: merupakan protected branch yang menyimpan kode yang siap di-deploy ke dalam product environment.
  2. Cabang Staging: merupakan cabang utama yang terkait dengan proses pengembangan. Cabang ini menyimpan kode hasil pekerjaan setiap developer. Cabang ini adalah cabang yang nantinya akan digunakan dalam Sprint Review.
  3. Cabang User Story: merupakan cabang yang digunakan untuk mengimplementasikan suatu user story.
  4. Cabang Hotfix: merupakan percabangan dari cabang ​master ​yang digunakan sebagai tempat untuk memperbaik ​bug yang terjadi pada cabang master (jika ada).
  5. Cabang Coldfix: merupakan cabang yang dibuat untuk melakukan ​rollback ​(menghapus semua perubahan dari semua cabang ​user story​). Hal ini dapat terjadi apabila jika product owner ​menolak salah satu atau semua ​user story ​pada Sprint Review.

Referensi:

  1. Basic Git Command. Atlassian, 2017. Web. 31Maret 2019. https://confluence.atlassian.com/bitbucketserver/basic-git-commands-776639767.html
  2. Memulai Git — Dasar Git. Git. Web. 31 Maret 2019. https://git-scm.com/book/id/v1/Memulai-Git-Dasar-Git
  3. Fadhlilah, Hafiyan S. Panduan Git Ver 2.0. 2019. Fasilkom UI.

--

--