Cara Mudah Mengatur Versi Aplikasi Menggunakan GIT

Senin, 14 Jun 2021

Jaman sekarang, seorang developer harus semakin menyadari bahwa untuk membuat produk yang baik tidak mungkin bisa sekali jadi. Setiap produk pasti punya kelemahan yang seiring waktu harusnya  terus diperbaiki dengan penambahan dan pengurangan sesuai kebutuhan. 

Proses perbaikan terus menerus ini mesti dicatat dan didokumentasikan dengan baik untuk kemudahan pengembangan dan juga mengurangi kesalahan. Setiap tahap perbaikan pada umumnya ditandai dengan angka atau kode agar dapat dikenal sebagai informasi untuk mempermudah tahap selanjutnya. 

Maka sudah bukan hal yang aneh apabila saat ini banyak lowongan pekerjaan sebagai programmer selain wajib menguasai setidaknya satu bahasa pemrograman juga harus mampu mengontrol versi produk. 

Untuk kebutuhan tersebut maka banyak perusahaan yang memasang syarat bagi pelamar harus bisa menggunakan GIT.

Untuk Apa Menggunakan GIT?

Kembali  seperti yang sudah disinggung bahwa, sehebat apapun seorang developer tentu saja selalu ada kekurangan pada produk buatannya. Maka project yang baik adalah yang selalu diperbaiki agar lebih baik dari sebelumnya. 

Setiap perbaikan biasanya ditandai dengan kode versi. Untuk mempermudah developer mengontrol versi perubahan pada berbagai sisi produknya maka GIT hadir sebagai solusi.

Tentu anda sudah sering mengetahui bahwa aplikasi yang dikembangkan ditandai sebagai versi

  • alpha, 
  • beta, 
  • versi 1.0, 
  • versi 1.0.1 ,
  • versi 1.0.2,
  • .. dan seterusnya. 

Perubahan versi ini adalah hasil perbaikan dari versi yang sudah ada sebelumnya. Tidak hanya untuk mengetahui yang mana versi yang lebih baru, namun dengan adanya penulisan versi maka dapat diketahui mana urutan yang lebih sempurna dan mana yang lebih awal. 

Penulisan versi ini tidak hanya dibuat untuk pengguna agar dapat dengan mudah mengetahui mana produk yang lebih baru, tapi juga untuk developer sendiri. Setiap saat ada perubahan pada project maka developer perlu tahu mana bagian yang sudah diperbaiki dengan pencatatan yang tidak membuat ribet tapi dapat digunakan dengan baik.  

Bila developer bekerja secara teamwork, maka setiap perubahan program harus diketahui oleh masing-masing anggota tim. Tentu saja setiap perubahan yang dilakukan harus dapat dengan mudah digunakan dan diupdate secara bersama. 

Untuk mencatat perubahan pada program ini dikenal istilah VCS (Version Control System). Tidak hanya bagian akhir produk, tapi bagian-bagian kecil seperti modul, file ataupun fungsi harus dicatat. Setiap bagian mana yang diubah oleh developer dapat dicatat dan disimpan. Salah satu Version Control System yang populer saat ini adalah GIT.


Masalah Yang Sering Terjadi dalam Mencatat Perubahan Project

Untuk merubah suatu bagian program tentu menjadi tantangan tersendiri, masalahnya terkadang ketika sudah terlanjur diubah hasilnya malah lebih buruk ketimbang versi sebelumnya. Tentu hal ini menjadi mimpi buruk developer, apalagi bila tidak punya backup versi sebelumnya.

Maka proses pencatatan dalam versi harus dapat memenuhi syarat bila sudah diubah dan ternyata ada kesalahan maka harus bisa kembali ke kondisi sebelum program diubah. Untuk proses yang memenuhi kebutuhan ini maka diperlukan sistem pencatatan yang canggih dan online agar tidak hanya dapat digunakan kapan saja tapi juga dapat diperbaiki kapan saja dan dimana saja.


Sejarah GIT

Untuk memenuhi kebutuhan diatas maka seorang bapak Linux (pembuat kernel linux) yang bernama Linus Trovalds pada tahun 2005 memperkenalkan  GIT. GIT yang kemudian dikelola oleh developer Jepang bernama Junio Hamano dapat dimanfaatkan oleh banyak developer dari seluruh penjuru dunia.

Hingga sekarang jutaan projek sudah memanfaat GIT untuk proses pencatatan dan kontrol yang dapat digunakan melalui berbagai sistem operasi termasuk Mac, Linux, Windows, Solaris dan lain-lain.


Jadi Apa itu GIT?

GIT merupakan Salah satu Version Control System yang dapat digunakan oleh developer secara gratis dengan berbagai Kelebihan dibandingkan Version Control System Lainnya. GIT dapat dikelola menggunakan perintah melalui command console khusus Git dan bisa juga dikelola dengan aplikasi GIT GUI Client. 

GIT dapat mencatat versi project secara offline di komputer, tapi selain itu juga dapat disimpan secara online di website bernama GITHUB. Dengan menggunakan GITHUB  maka pekerjaan bisa dilakukan bersama tim yang saling terkoneksi walaupun berjauhan (remote).


Kelebihan GIT dibanding VCS yang lain, antara lain:

  1. GIT menerapkan Version Control System terdistribusi bukan sistem Client Server
  2. GIT memberikan opsi developer untuk dapat membuat cabang atau branch code yang independen. Branch code dapat dibuat, digabung dan dihapus dengan mudah dan cepat.
  3. GIT menerapkan sistem yang bersifat atomic dimana suatu perubahan akan diselesaikan secara lengkap atau dinyatakan gagal sama sekali. Hal ini sangat penting untuk menghindari perubahan yang "nyangkut" sehingga berpotensi membuat repository menjadi tidak stabil.
  4. GIT menyimpan data dan informasi dalam folder .git bukan dalam metadata tersembunyi seperti svn, cvs atau lainnya sehingga lebih mudah ditelusuri
  5. Git membuat data model yang membantu integritas cryptographic dalam repository. Sehingga setiap menambah file, menambah commit maka checksum diciptakan. Atau misalnya perubahan digagalkan (retrive) dapat dirunut melalui checksumnya.
  6. Git menyediakan area staging dengan index sehingga developer dapat menambahkan commit atau catatan tersendiri sebagai informasi lalu bisa mereview dahulu sebelum diterapkan.

Selain GIT ada beberapa Version Control System yang dapat menjadi pilihan. Misalnya seperti Subversion (SVN), CVS, Bazaar, Mercurial, RCS, Perforce, ClearCase, GNU Arch, GNU CSSC dan lain sebagainya. Masing-masing Version Control System tersebut memiliki kelebihan dan kekurangan yang dapat anda pertimbangkan sebelum menggunakannya.


Cara Menggunakan GIT

Untuk memahami cara menggunakan GIT setidaknya anda perlu memahami status atau keadaan berkas anda. Git memiliki tiga jenis status keadaan utama yang diterapkan pada berkas-berkas Anda antara lain: committed, modified, dan staged. 

  • Committed berarti data berkas anda telah tersimpan dengan aman pada basis data lokal Anda. 
  • Modified berarti Anda telah mengubah berkas, namun belum di-commit ke basis data Anda. 
  • Staged berarti Anda telah menandai berkas yang telah diubah ke dalam versi sekarang untuk gambar keaadaan saat ini (snapshot) commit Anda selanjutnya.

Cara menggunakan GIT

GIT Memilih Snapshot, Bukan Berdasarkan Perubahan

Setiap kali Anda melakukan proses commit, atau menyimpan keadaan dari proyek Anda di Git, pada dasarnya hal itu seperti mengambil sebuah gambar atau snapshot tentang bagaimana tampilan semua berkas Anda pada saat itu dan menyimpan informasi acuan kepada snapshot tersebut. Maksudnya, jika berkas-berkas anda tidak berubah, Git tidak menyimpan berkasnya lagi, hanya membuat tautan ke berkas yang sama persis sebelumnya yang telah tersimpan. 


Git bekerja lebih seperti sebuah aliran snapshot yang menyimpan informasi semua berkas pada saat anda melakukan commit.

Cara kerja Git


Git menggunakan snapshot, tidak bekerja berdasarkan perubahan seperti Version Control Sistem lain.

Menyimpan Informasi Perubahan

Pemahaman kondisi ini akan membantu anda dalam mengatur bagian utama dalam proyek Git yaitu: direktori Git, working directory, dan staging area.

GIT yang pada mulanya dirancang untuk dapat mengakomodasi kebutuhan para programmer untuk dapat berkolaborasi dapat digunakan menggunakan perintah command line. 

Perintah Command Line  GIT Yang sering digunakan:

git config

merupakan perintah untuk mengatur konfigurasi agar git bekerja sesuai kebutuhan. Pengaturan antara lain seperti email untuk akses github, username, algoritma untuk diff, format file dll. 

Contoh:

git config --global user.email inkonstellasi@gmail.com


git init

merupakan perintah untuk membuat repository baru

contoh:

git init


git add

merupakan cara menambahkan file ke master atau lokal index

git add contoh.txt


git clone

Merupakan perintah menyalin repository. Ada dua macam yaitu remote server, dan lokal. Remote contohnya:

git clone inkonstellasi@192.168.1.2:/path/to/repository

Sedangkan untuk lokal contohnya:

git clone /path/to/repository


git commit

Merupakan cara menambhakan pesan ke pada perubahan ke head. Apapun yang ditambahkan menggunakan commit belum langsung diperbarui di remote. Contohnya

git commit -m "ini contoh pembaruan"


git status

Merupakan perintah untuk menampilkan daftar file yang telah berubah bersama yang ingin di tambahkan catatan atau commit. Contoh

git status


git checkout

merupakan perintah untuk berpindah branch atau membuat branch baru.

- Untuk pindah Contohnya

git checkout <nama branch>

- Untuk membuat branch baru

command git checkout -b <nama branch>


git remote 

Merupakan perintah untuk membuat user terkoneksi ke remote repository. 

Perintah untuk menghubungkan repository lokal ke remote Contoh

git remote add origin <55.19.44.96>


git pull

Merupakan perintah untuk menggabungkan remote repository ke lokal repository. 

Contoh

git pull


git merge

Merupakan perintah untuk menggabung sebuah branch ke branch yang aktif

git merge <nama-branch>


git diff

Merupakan perintah yang dapat menampilkan conflicts. Untuk menampilkan semua confict Contoh:

git diff


git rm

Merupakan perintah untuk menghapus file dari direktori dan index. Contoh;

git rm contohdihapus.txt

dan masih banyak lagi..


Cara Lebih Mudah Yaitu Dengan Menggunakan GIT GUI

Bila anda ingin yang lebih mudah tanpa harus menghafal perintah command line, maka juga bisa menggunakan versi GUI nya.

Git GUI

Ada banyak pilihan GIT GUI client yang saat ini bisa anda pilih saat ini. Berdasarkan Sistem Operasi pilihanya antara lain sebagai berikut:

Git Client di Windows

  • GitHub merupakan Git Client GUI yang dapat digunakan untuk memantau workflow dan visualisasi repository GitHub.
  • Tortoise Git merupakan Aplikasi GUI yang mudah dimanfaatkan dengan dilengkapi tambahan tool penting untuk pengembangan lainnya.
  • Sourcetree merupakan aplikasi Git yang dapat dilengkapi dengan fitur canggih untuk pengguna berpengalaman tapi juga memudahkan pengguna pemula.


Git Client di Mac

  • GitBox merupakan aplikasi Git untuk pengguna non komersil dengan gratis yang memudahan pekerjaan Git.
  • GitX-dev merupakan aplikasi Git yang didesain dengan tampilan lebih lengkap dan mudah. Aplikasi ini dapat digunakan secara gratis.
  • GitUp merupakan aplikasi git yang aman untuk digunakan secara gratis. 


Git Client di Linux

  • QGit merupakan aplikasi Git Client yang mudah digunakan dan gratis.
  • Gitg merupakan aplikasi Git Client untuk memudahkan mengelola repository dan mengelola Git
  • Git Force merupakan aplikasi Git yang dirancang untuk memberi pengalaman baru dalam mengelola Git dengan tampilan yang baik.

Cross Platform

Git Client yang dapat berjalan diberbagai sistem operasi:
  • SmartGit merupakan aplikasi Git Client yang dapat digunakan secara gratis dan cerdas selama non komersil
  • GitKraken merupakan aplikasi git yang handal dan memudahkan pengguna dalam memanfaatkan git.
  • Git Cola merupakan aplikasi git Client yang simple, canggih dan efisien sehingga dapat mempermudah anda mengelola Git.

Tentu saja mungkin masih ada aplikasi GIT GUI lainnya yang belum kami tuliskan disini dan dapat anda pilih. Untuk saya sendiri sering menggunakan GIT-SCM di sistem operasi windows. Bila anda juga ingin menggunakan GIT yang sama seperti saya dapat anda donwnload sesuai sistem operasi yang anda gunakan melalui link download berikut.

Bila anda ingin mendapatkan dokumentasi lengkap GIT secara gratis dapat anda dapatkan melalui link berikut.


logoblog

Tidak ada komentar:

Posting Komentar