Jika anda merupakan sorang pembangun perisian ataupun jurutera yang menguruskan infrastruktur IT, anda wajib untuk mempelajari Git kerana ia merupakan teknologi yang sangat penting pada masa kini yang memudahkan proses untuk menjejak perubahan fail, berkolaborasi dengan orang lain dan juga menjalankan automasi bagi kerja-kerja yang renyah atau kompleks.
Bagi yang terlibat dengan infrastruktur IT seperti System Administrator, System Engineeer, Cloud Engineer dan DevOps Engineer, Git dapat membantu anda dalam menyimpan salinan konfigurasi infrastruktur, mengurus infrastruktur seperti server menggunakan kod atau disebut sebagai Infrastructure-as-Code, menjalankan automasi seperti menghantar kod aplikasi yang telah siap kepada server dan mengawal konsistensi konfigurasi dan juga memudahkan urusan audit serta pematuhan.
APA ITU GIT?
Git merupakan satu sistem kawalan versi yang diagihkan atau juga disebut sebagai Distributed Version Control System (DVCS). Ia merupakan perisian yang berasaskan sumber terbuka dan dibangunkan oleh Linus Torvalds iaitu individu yang sama yang mencipta Linux kernel.
Secara asanya, Git merupakan sistem penyimpanan fail terutama kod yang mempunyai versi, boleh dijejak, disemak semula, dikembalikan semula, dikongsi dengan individu lain dan juga dibuat salinan di beberapa komputer.
KENAPA GIT PENTING?
Memudahkan kolaborasi antara beberapa individu untuk projek yang sama secara serentak. Perubahan yang dilakukan terhadap fail kod dapat diagihkan dan digunakan oleh individu lain dengan sangat mudah.
Setiap perubahan yang dilakukan pada fail kod akan dapat dijejak semula kerana ianya direkodkan. Ini akan memudahkan anda untuk melihat semula perubahan yang dilakukan, mengesan masalah, mengembalikan semula perubahan kepada keadaan sebelumnya dan juga boleh dilihat oleh individu lain.
Git menyokong fungsi branching dimana ia membolehkan kod anda disimpan dalam set yang berbeza bagi tujuan pengurusan yang lebih mudah dan efisyen. Ia membolehkan anda membetulkan bug pada projek anda dan dalam masa yang sama memperkenalkan fungsi baru pada set kod yang berbeza untuk projek yang sama. Kemudian kedua-dua set kod ini boleh disatukan ataupun “merge” apabila sudah bersedia.
Setiap individu yang membuat klon repositori daripada Git server kepada komputer akan mendapat salinan fail kod yang sama seperti dalam Git server. Sekiranya terdapat 10 individu yang melakukan klon projek yang sama, bermaksud terdapat 10 salinan kod dalam komputer yang berbeza. Ini secara tidak langsung menjadi backup dan sekiranya Git server bermasalah, anda boleh restore semula daripada salinan di komputer yang telah klon projek yang sama.
BAGAIMANA GIT BERFUNGSI?
Anda boleh menggunakan Git dengan cara memuat turun dan memasang perisian Git daripada laman web rasmi Git di https://git-scm.com. Kemudian anda perlu menjalankan arahan “git init” pada folder yang anda mahu uruskan menggunakan Git.
Anda juga boleh klon repositori kod daripada Git server seperti Github, BitBucket, Gitlab ataupun Gitea. Server Git ini tersedia dalam versi Cloud Hosting dan juga Self-Hosting.
Kebiasaanya, setiap repositori akan tersedia dengan satu branch yang asal samada diberi nama main ataupun master. Anda boleh gunakan arahan “git branch” untuk melihat nama branch anda.
Seterusnya, anda boleh mula menambah atau mencipta fail dalam folder tersebut dan anda perlu melaksanakan beberapa langkah serta arahan asas bagi membolehkan fail kod anda dapat digunakan oleh individu lain yang bekerja dalam projek yang sama.
Fail yang telah siap di edit akan disimpan dalam folder yang dipasang Git.
Untuk memaklumkan perubahan fail tersebut kepada Git, anda perlu melaksanakan arahan “git add .” Ini akan memasukkan fail tersebut ke dalam peringkat staging sebelum disahkan masuk ke dalam repositori lokal anda.
Untuk mendaftar dan memasukkan fail tersebut kedalam repositori Git, anda perlu melakansanakan arahan “git commit -m “Mesej perubahan fail””. Arahan ini akan memasukkan fail tersebut dalam repositori Git.
Untuk membolehkan individu lain mendapat salinan perubahan fail yang sama, anda perlu menghantar fail tersebut kepada Git server dengan cara menjalankan arahan “git push”. Fail tersebut akan tersedia dalam Git server untuk diambil dan digunakan oleh individu lain.
Sekiranya individu lain ingin mendapatkan fail tersebut, beliau perlu klon terlebih dahulu repositori tersebut ke dalam komputernya. Untuk mendapatkan perubahan terkini, individu tersebut perlu menjalankan arahan “git fetch”. Ini akan mengemaskini titik commit dan juga mendapatkan salinan fail terkini daripada repositori remote dan simpan dalam branch salinan repositori remote di lokal.
Untuk menggabungkan salinan fail daripada repositori remote kepada branch kerja semasa anda di lokal, anda perlu melaksanakan arahan “git merge.” Jika terdapat sebarang konflik pada fail yang akan digabungkan, anda perlu menyelesaikan konflik tersebut terlebih dahulu, baru anda boleh gabungkan semula.
Proses “git fetch” dan git merge” boleh diringkaskan menggunakan arahan “git pull”. Sekiranya terdapat lebih dari satu branch dan anda ingin menukar branch, anda boleh menggunakan arahan “git checkout nama-branch”.
Penggunaan Git adalah sangat penting terutama apabila melibatkan penyimpanan kod atau fail konfigurasi. Penggunaan Git juga boleh diluaskan lagi dengan fungsi CI/CID yang membolehkan pelbagai proses automasi dilakukan dan juga pengurusan infrastruktur menggunakan Git secara menyeluruh dengan implementasi GitOps.
Anda juga boleh menggunakan Git bersama peralatan lain seperti Ansible, Puppet, Chef, Terraform, Cloudformation dan Jenkins bagi meluaskan lagi fungsi Git dan menguruskan infrastruktur dengan lebih cekap dan efisyen.
Pastikan anda subscribe blog ini untuk membolehkan anda menerima artikel terkini terus ke inbox email anda.