Kita tahu bahwa untuk membuat sebuah project atau aplikasi dalam dunia IT pastinya membutuhkan banyak orang, apalagi kalau bekerja di Startup maupun Perushaan Tech IT yang notabennya memiliki banyak divisi dan role jobs yang berbeda-beda, sebut saja ada Backend, FrontEnd, Mobile App Developer dan Role lainnya.



Pernah gak kamu berfikir bagaimana mereka menggabugkan project atau kode yang mereka tulis menjadi satu kesatuan project atau aplikasi yang untuh sehingga bisa di delivery ke user atau market. Nah mungkin itu hal yang terlihat cukup sederhana namun dalam organisir project tidaklah semudah yang di bayangkan. Nah oleh karenanya munculah GIT yang dibuat oleh Bapak Linux (Linus Torvalds). Di artikel series GIT Bahasa Indonesia ini akan KonsepKoding jelaskan mengenai Pengertian dari GIT dan mengapa kamu harus mempelajarinya sebagai programer atau Role IT lainnya.


Apa Itu GIT?

Git adalah sistem kontrol versi (Version Control System) VCS terdistribusi sumber terbuka dan gratis yang dirancang untuk menangani segala sesuatu dari proyek kecil hingga sangat besar dengan kecepatan dan efisiensi.

Git mudah dipelajari dan memiliki jejak kecil dengan kinerja cepat. Ini mengungguli alat SCM seperti Subversion, CVS, Perforce, dan ClearCase dengan fitur-fitur seperti percabangan lokal yang murah, area pementasan yang nyaman, dan beberapa alur kerja.

Jadi intinya GIT adalah sebuat alat untuk berkolaborasi antar developer dalam membangun project, selain itu fitur GIT antara lain adalah history yang berguna sebagai riwayat kode kita ditulis oleh siapa dan berfungsi untuk apa kode kita. 


Lebih Dalam Dengan GIT

Control System: Ini pada dasarnya berarti bahwa Git adalah pelacak konten. Jadi Git dapat digunakan untuk menyimpan konten - sebagian besar digunakan untuk menyimpan kode karena fitur-fitur lain yang disediakannya.

Version Control System: Kode yang disimpan di Git terus berubah seiring bertambahnya kode. Juga, banyak pengembang dapat menambahkan kode secara paralel. Jadi Sistem Kontrol Versi membantu dalam menangani hal ini dengan mempertahankan riwayat perubahan apa yang telah terjadi. Juga, Git menyediakan fitur seperti cabang dan gabungan, yang akan saya bahas nanti.

Distributed Version Control Systemi: Git memiliki repositori jarak jauh yang disimpan di server dan repositori lokal yang disimpan di komputer masing-masing pengembang. Ini berarti bahwa kode tersebut tidak hanya disimpan di server pusat, tetapi salinan lengkap kode ada di semua komputer pengembang. Git adalah Sistem Kontrol Versi Terdistribusi karena kode ini ada di setiap komputer pengembang.


Bagaimana GIT Bekerja?


Kemudian bagaimana gambaran secara sederhana GIT bekerja pada local komputer kita. Analoginya seperti point di bawah ini :

1. Pertama kita membuat project misal folder web dengan isi file index.html
2. Kemudian kita init GIT atau membuat git pada direktori tersebut
3. Setelah itu kita commit atau menambahkan perubahan ke dalam GIT file kita
4. Maka history dan kode kita akan di simpan dalam GIT (GIT Direcctory)
5. Ketika kita mengubah file atau menambah file baru maka akan tersimpan dalam staging area jika kamu belum commit project yang kamu buat.
6. Jika kamu commit makan history GIT mu akan tersimpan dengan head yang berupa string acak dan nama commit baru.


Kenapa Mempelajari GIT (Version Control System)?

Sebagai seorang programer atau kamu yang ingin menjadi programmer Git sudah menjadi salah satu kewajiban, Kenapa? seperti sudah saya singgung sebelumnya bahwa Perusahaan IT atau Startup memiliki banyak team dan divisi. Berikut beberapa alasan kenapa kamu harus belajar mengenai GIT.
  1. Untuk berkolaborasi dengan orang lain
  2. Sebagai riwayat dan dokumentasi perubahan kode
  3. Kembali ke branch sebelumnya jika kode mengalami error
  4. Sebagai dasar untuk deploy automation
  5. Sebagai fundamental untuk CI CD seperti di platfom Github, Gitlab Dan Bitbucket
  6. Sebagai portofolio jika kamu aktif di github dan aktivitas mu hijau
  7. Bisa menyimpan version code dari awal sampai codebase terbaru
  8. Bisa bergabung ke project Open source
  9. Menghindari program/kode crash akibat kolaborasi dengan banyak orang
  10. Dan masih banyak lagi

Contoh Git Platform Populer

Berikut contoh Git Platform atau meng host projectmu:
1. Github
2. Gitlab
3. BitBucket
4. SourceForge
5. Roll your own
6. All of the above

Sekian semoga artikel awal untuk GIT series di Konsep Koding dapat bermanfaat dan nantikan tutorial GIT Bahasa Indonesia selanjutnya untuk membuat magic-magic baru pada project anda jika sebelumnya ada belum familiar dengan GIT. Happy Coding And Keep Learning.