Bagi kamu yang sering bergelut di bidang developer atau programming, tentu akrab dengan istilah Git dan GitHub. Dua hal ini merupakan alat bantu yang umum dipakai untuk mempermudah pengerjaan kode skrip bagi programmer. Namun, apa sebenarnya yang dimaksud dengan Git dan bagaimana fungsinya dalam programming? Mari simak ulasan singkatnya di bawah ini.
Apa itu Git?
Git merupakan perangkat lunak yang digunakan untuk menyimpan riwayat pembaruan kode (Sumber:linuxsec.org)
Menurut Aditya Sridhar dalam risalahnya, Git merupakan version control system bersifat open source yang digunakan untuk melacak konten dan menyimpan kode beserta seluruh perubahannya. Git sendiri mulanya dibuat oleh pembuat Linux, linus Torvalds untuk mengelola basis dan sumber kode kernel Linux.
Sebelum mendefinisikan apa itu Git, kita perlu mengetahui terlebih dahulu apa itu version control system (VCS) dalam programming. VCS merupakan sistem terpusat yang bertindak untuk melakukan source code management (SCM) atau mengelola kode sumber beserta perubahan yang terjadi di setiap dokumen, situs, dan program komputer lainnya.
Umumnya, penyimpanan perubahan dokumen dalam VCS akan menyimpan perubahan datanya saja, bukan dokumen keseluruhan. Serupa seperti VCS, Git juga bertugas untuk menyimpan perubahan kode seiring bertambahnya kode secara paralel yang ditambahkan oleh developer atau pengembang. Git nantinya akan menjadi alat bantu untuk menangani proses perubahan dan mempertahankan riwayat perubahan yang telah terjadi.
Sebagai VCS yang dinamis, Git dapat melakukan apa yang disebut sistem kontrol terhadap versi kode secara terdistribusi. Hal ini dimungkinkan karena Git memiliki repositori jarak jauh yang disimpan dalam sebuah server dan juga repositori lokal di perangkat milik developer.
Sebagai VCS terdistribusi, kode-kode dalam Git juga akan tersimpan di setiap komputer milik para pengembang. Adanya sistem repositori jarak jauh memungkinkan pengembang untuk memiliki banyak cabang lokal yang independen. Sedangkan nantinya, proses pembuatan, penggabungan, dan penghapusan jalur pada developer menjadi lebih singkat.
Secara konteks, penggunaan Git dapat memungkinkan pengembang untuk melakukan beberapa hal seperti mengalihkan konteks kode tanpa gesekan dengan membuat cabang dan peralihan tempat, hingga penggabungan kode. Tak hanya itu, Git juga dapat membantu pengembang dalam membuat garis kode (codeline) berbasis peran yang membuat percabangan kode dapat digabungkan dengan pekerjaan atau pengujian tertentu.
Dikarenakan fleksibilitasnya, Git tentunya juga mendukung proses eksperimen sekali pakai pada kode yang ada di percabangan dan dapat menghapusnya tanpa pengembang lain tahu. Hal ini dikarenakan sifat independensi dari Git terhadap kode-kode yang terdistribusi.
Baca juga: Hal yang perlu diketahui Developer dan Programmer
Cara kerja Git
Diagram alur kerja Git (Sumber: towardatascience.com)
Secara ringkas, cara kerja Git melibatkan beberapa file proyek yang tersimpan di direktori proyek. Kemudian, file yang tersimpan tadi akan diperbarui yang dipindah ke Staging Area. Setelah peninjauan, file kode tersebut dimuat ke Git Repository.
File yang telah melewati pembaruan dan peninjauan tadi lantas melewati proses bernama Commit yang merupakan operasi fundamental pada operasi Git. Proses Commit ini nantinya akan memberi perintah pada Git untuk merekam profil data atau kode seperti identitas, pesan informatif, tanggal dan waktu, hingga pembuat kode.
Oleh karena itu, Git memungkinkan pengembang untuk memiliki histori proyek yang dapat ditinjau secara lengkap. Untuk dapat mempelajari Git secara langsung, kamu harus terlebih dahulu mengunduh dan memasang Git pada komputermu lewat tautan berikut ini. Setelah memasang Git pada komputermu, kamu perlu melakukan verifikasi lewat command prompt dengan command di bawah ini:
git --version |
Setelah verifikasi, kamu bisa mulai membuat folder untuk proyek yang kamu buat. Misalnya kamu beri nama foldermu dengan nama:
simple-git-demo |
Setelah itu, kamu bisa mengakses folder proyek dan menambahkan repositori lokal untuk Git dengan command seperti berikut:
cd simple-git-demo git init |
Perintah “git init” merupakan command untuk menambahkan repositori lokal Git ke proyek pengodean. Setelah proses penambahan repositori, kini kamu perlu menambahkan kode sederhana untuk memulai proyek pemrogramanmu. Misalnya, kamu ingin membuat file ke folder proyek dengan nama:
demo.txt |
maka kamu perlu menambahkan teks berikut ke dalamnya:
Initial Content |
Setelah melalui proses ini, maka dokumen ini akan tersimpan dalam repositori dan data kode siap untuk masuk dalam proses selanjutnya yaitu peninjauan dan masuk ke Staging Area.
Staging Area merupakan area pementasan yang digunakan untuk melacak semua file yang nantinya akan di-Commit. Sedangkan Commit adalah proses di mana kode ditambahkan ke repositori lokal. Sehingga, setiap file kode yang tidak dimasukkan ke Staging Area tidak akan di-Commit. Staging Area akan memberi kendali pada pengembang mengenai file mana saja yang perlu di-commit.
Untuk proses Staging pada Git, kamu perlu menggunakan perintah seperti berikut:
git add demo.txt |
Jika kamu ingin menambahkan beberapa file maka perintahnya adalah sebagai berikut:
git add file1 file2 file3 |
Sedangkan, jika kamu ingin menambahkan semua file di dalam folder proyek ke dalam Staging Area maka kamu perlu menggunakan perintah seperti ini:
git add . |
Selanjutnya, kamu perlu memberi perintah untuk melakukan Commit pada file yang telah mentas dari Staging Area dengan perintah sebagai berikut:
git commit -m “Initial Commit” |
Dalam perintah ini, “Initial Commit” adalah pesan Commit. Pesan ini digunakan untuk menunjukkan perubahan kode apa yang dilakukan dalam suatu Commit tertentu. Sekarang, kamu bisa memodifikasi file “demo.txt” dengan menggunakan snippet atau cuplikan seperti berikut:
Initial Content Adding more Content |
Setelahnya, kamu bisa melakukan pengecekan status Git untuk mengetahui informasi file apa yang dimodifikasi dan file mana yang ada di Staging Area. Pengecekan status ini dapat dilihat dengan command:
git status |
Status akan menunjukkan apakah file “demo.txt” termodifikasi atau belum di dalam Staging Area. Setelahnya, kamu bisa menambahkan file “demo.txt” ke Staging Area dan melakukan Commit dengan command sebagai berikut:
git add demo.txt git .commit -m “demo.txt file is modified |
Setelahnya, kamu bisa melakukan Log dan mencetak semua Commits yang telah diselesaikan dengan command,
git log |
Proses Log akan menunjukkan pengembang tentang setiap Commit, tanggal, dan pesan yang ada saat dilakukan Commit, secara terperinci.
Baca juga: 7 Tips belajar programming untuk kamu yang pemula
Kenapa Git penting bagi programmer?
Penggunaan Git bagi programmer amat penting karena dapat meningkatkan kolaborasi dan pelacakan kode (Sumber: Pexels)
Secara garis besar, Git sebagai VCS amat penting bagi pengembang atau programmer karena dapat mempertahankan riwayat semua perubahan yang dilakukan pada kode. Riwayat tersebut tercatat setelah programmer melakukan Log. Dua hal utama yang penting dari penggunaan Git untuk pemrograman dan pengembangan perangkat lunak adalah sebagai berikut:
- Git dapat membantu programmer melacak perubahan dan pembaruan. Programmer bisa melihat siapa yang membuat perubahan dan Git juga menyediakan data kapan dan mengapa perubahan dilakukan lewat Log.
- Git memungkinkan pengembang atau para programmer bekerja secara kolaboratif. Proyek pengembangan perangkat lunak umumnya dikerjakan secara sistematis dalam satu tim kerja secara kolaboratif. Git hadir untuk mempermudah fokus pengembang dalam pengerjaan kode daripada melakukan komunikasi verbal.
Baca juga: Tips membuat portofolio Programmer yang bisa kamu coba
Fitur Git dan kelebihannya
Fitur sistem terdistribusi dalam Git (Sumber: geeksforgeeks.org)
Sebagai VCS yang paling populer, Git memiliki fitur utama seperti salinan lokal dari seluruh riwayat pengembangan melalui Log. Selain itu, Git juga memungkinkan masing-masing programmer melakukan penyalinan dan perubahan dari satu repositori ke repositori lainnya. Secara umum, Git memiliki kelebihan dibandung VCS lainnya yang meliputi:
- Kecepatan
- Skalabilitas
- Kebebasan/fleksibilitas
- Bersifat open source
Adapun fitur-fitur utama dalam Git antara lain meliputi:
- Sistem terdistribusi
- Kompatibilitas
- Pengembangan non-linier
- Percabangan (branching)
- Riwayat Commit
- Grafik
- Pelacakan masalah
- Reliabilitas
- Notifikasi lewat surel
Baca Juga: Microsoft Resmi Akuisisi GitHub Rp 104 Triliun
Perbedaan Git dengan GitHub
Git merupakan perangkat lunak rilisan Linux, sedangkan GitHub merupakan hosting repositori milik Microsoft (Sumber: github.com)
Secara teknis, Git berbeda dengan GitHub dalam ranah hierarkis dan bentuknya. Git sendiri dirilis pertama kali pada tahun 2005, sedangkan GitHub baru dirilis sebagai layanan hosting untuk repositori Git pada tahun 2008. Git sendiri secara khusus merupakan VCS yang berguna untuk mengelola riwayat kode sumber, sedangkan GitHub hadir dengan layanan hosting untuk repositori Git.
Adapun perbedaan lain antara Git dengan GitHub adalah sebagai berikut:
Git | GitHub |
Merupakan perangkat lunak | Merupakan layanan |
Berbentuk command-line tool atau alat perintah baris | Antarmuka penggunanya berbentuk grafis |
Dikelola oleh Linux | Dikelola oleh Microsoft |
Berfokus pada VCS dan berbagi kode | Berfokus pada hosting kode dan sumber terpusat |
Baca juga: 9 Tips mudah belajar coding untuk pemula
Itulah tadi seluk-beluk teknis mengenai Git dan perbedaannya dengan GitHub. Bagi kamu yang ingin menjadi programmer, tentu saja pemahaman tentang Git ini amat penting. Kamu bisa mempermudah pekerjaanmu dengan Git karena dapat melacak perubahan kode secara rinci.
Jika kamu telah menguasai bahasa pemrograman dan penggunaan VCS macam Git dan sedang mencari pekerjaan, mendaftar lewat EKRUT adalah langkah tepat bagi kamu. Dengan mendaftar lewat EKRUT, kamu dapat berkesempatan ditemukan dan direkrut oleh berbagai perusahaan yang tengah mencari kandidat untuk tim pengembang perangkat lunak mereka.
Tunggu apa lagi? Ayo mendaftar lewat EKRUT dengan klik tautan di bawah ini.
Sumber:
- https://www.freecodecamp.org/news/what-is-git-and-how-to-use-it-c341b049ae6
- https://git-scm.com/about/branching-and-merging
- https://towardsdatascience.com/what-is-git-and-why-is-it-so-important-dce559b27833