Version Control Git

Riscel Eliel Florence
Auto Personalia
Published in
2 min readMar 22, 2017

Apakah itu version control? Dan kenapa harus peduli dengan ini?
Version Control adalah adalah sistem yang menyimpan perubahan pada sebuah file atau sekumpulan file sehingga suatu versi file tersebut dapat dipakai kembali kemudian hari. Hal ini sangat dibutuhkan dalam programing. Misalkan saja, ada suatu requirement yang didefine, namun setelah pembuatannya, ternyata requirement ini berubah, atau mungkin terjadi kesalahan teknis sehingga versi terbaru tidak berjalan semestinya. Maka diperlukan versi sebelumnya.

Pada version control, perubahan, siapa yang melakukan perubahan, siapa yang memulai issue dan kapan, hal yang memungkinkan terjadikan kesalahan dapat dilihat. Menggunakan version control juga berarti jika ada file yang hilang atau menjadi berantakan, file versi sebelumnya dapat secara mudah dikembalikan.

Version control ada beberapa jenis, seperti local version control system, centralized version control system, distributed version control system.

Pada, local version control system, user menyimpan versi pada folder terpisah. Namun, hal ini memiliki kelemahan. misalnya user lupa ia sedang di folder apa dan secara tidak sengaja menulis pada folder yang salah.

Centralized version control system dibuat untuk menyelesaikan isu yang ada ketika suatu program dikembangkan oleh beberapa orang. Pada version control ini, siapa yang dapat mengakses suatu repository dapat dikontrol. Kelemahan pada version control ini adalah ketika server down selama satu jam, dan selama itu tidak ada yang dapat menyimpan versi yang mereka kerjakan. Jika hard disk pada database utama rusak, dan tidak ada backup yang disimpan, maka segala file akan hilang.

Version control lainnya yang ada adalah Distributed Version Control System. Pada version control ini, kedua isu diatas teratasi. Pada DVCS(seperti Git, Mercurial, Bazaar, atau Darc), client me-mirror repository lengkapnya. Jadi jika ada server yang down, sistem berkolaborasi lewat repository ini, setiap repository client dikopi kembali ke server dan dikembalikan. Setiap kopian dari semua data benar-benar diback-up penuh.

Git Flow

Version control pada git menggunakan pola yang disebut sebagai git Flow. Terdapat beberapa cabang (branch) pada gitFlow, baik itu master, develop, dan branch lainnya.

Pada PPL, git Flownya diilustrasikan sebagai berikut:

Pembuatan branch dapat dibuat dengan membuat sebuah issue terlebih dahulu.

Branch user story dapat dibuat dengan meng-klik “New branch”

Pengaksesan branch, pengopian file, penambahan file, pengeditan file, dan lainnya dapat dilakukan pada command line.

Setelah branch user story sudah final, dapat dilakukan merge request dengan branch develop.

Command-command untuk melakukan perintah di atas dapat dilihat pada blog teman saya, Kustiawanto Halim , https://medium.com/auto-personalia/git-kenapa-179a89881b84#.iomnew6at

Referensi: https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control

--

--