Pendahuluan
Pernahkah kalian sedang mengerjakan sebuah projek, lalu tiba-tiba semuanya
jadi berantakan? Mungkin karena tidak sengaja menghapus file penting, atau
perubahan yang dibuat malah menimbulkan bug. Hal ini membuat upaya
mengembalikan projek ke kondisi semula menjadi sulit. Bagaimana jika kita bisa
membuat "versi" atau "save file" untuk sebuah projek yang nantinya kita bisa
akses kapan saja seandainya terjadi hal yang tidak diinginkan? Untungnya alat
tersebut telah ada, namanya ialah Git.
Penjelasan Git
Version Control System
Sebelum mengenal Git lebih lanjut, kita harus mengetahui sistem dibaliknya.
Version Control System (Juga dikenal sebagai revision control, source
control, atau source code management) adalah sistem yang merekam
perubahan-perubahan dari sebuah berkas atau sekumpulan berkas atau file dari
waktu ke waktu sehingga kita dapat menilik kembali versi khusus suatu saat
nanti. Contoh penggunaan Version Control System di luar Pemrogramman ada pada
Penulis. Naskah penulis dikelola oleh Version Control System sehingga setiap
ia mengganti, menambahkan, atau menghapus kalimat, kegiatan tersebut akan
dilacak oleh Version Control System. Hal ini memungkinkan penulis melihat
riwayat perubahan pada naskahnya dan memudahkan penulis untuk kembali ke
naskah sebelumnya jika perlu.
Jenis Version Control
Version Control System (VCS) mengelola file dengan tiga metode/model,
yaitu:
1. Localized Version Control (Lokal)
Metode ini menyimpan semua riwayat versi
file di komputer sendiri. Ini berarti kita memiliki kontrol penuh atas
data file tersebut dan tidak bergantung pada server eksternal.
2. Centralized Version Control (Terpusat)
Metode ini menyimpan semua
riwayat versi file di server pusat. Pengguna mengunduh versi terbaru file
dari server dan mengunggah perubahan mereka kembali ke server.
3. Distributed Version Control (Tersebar)
Metode ini menyimpan salinan
lengkap riwayat versi file di setiap komputer pengguna. Ketika pengguna
selesai membuat perubahan, mereka mengunggahnya ke repositori
terdistribusi, seperti Github.
Pengenalan Git
Git adalah salah satu Version Control System yang banyak digunakan oleh programmer untuk berkolaborasi untuk pembuatan dan pengembangan aplikasi. Git menggunakan model Distributed Version Control di mana setiap pengguna memiliki salinan repositori kode. Git bertujuan untuk memudahkan pengelolaan source code program, misalnya jika ada perubahan pada baris kode yang diganti atau ditambahkan. Git hanya akan menyimpan delta perubahannya saja, sehingga tidak memakan banyak ruang penyimpanan dibandingkan dengan menyimpan seluruh isi file. Hal ini memberikan fleksibilitas untuk mengakses revisi file sebelumnya tanpa harus menyimpan duplikat file yang lengkap. Git juga berlisensi Open Source sehingga gratis diunduh dan bebas di rekayasa.
Sejarah Git
Linus Torvalds |
Git diciptakan di tahun 2005 oleh Linus Torvalds, pencipta Linux. Git
terinspirasi dari Bitkeeper, sebuah Version Control pada saat itu. Torvalds
menginginkan Version Control System yang lebih cepat, efisien, dan scalable
sehingga ia membuat Git. Sejak
diluncurkan, Git telah menjadi Version Control System yang paling populer di
dunia. Digunakan oleh berbagai proyek, mulai dari proyek open source besar
hingga proyek komersial kecil.
Fitur dan Keunggulan Git
Branching and Merging |
1. Branching and Merging
Fitur Branching dan merging dalam GIT memungkinkan developer untuk menciptakan cabang-cabang baru dalam kode sumber tanpa memengaruhi kode utama. Cabang-cabang ini dapat digunakan untuk mengembangkan fitur baru, memperbaiki masalah, atau melakukan percobaan tanpa memengaruhi kode utama. Setelah selesai, developer dapat mengintegrasikan perubahan dari cabang tersebut ke dalam kode utama menggunakan perintah merge.
2. Collaboration
GIT memungkinkan tim developer untuk bekerja secara kolaboratif pada proyek perangkat lunak. Tim dapat mengelola repositori bersama, di mana setiap anggota dapat berkontribusi dan melakukan perubahan pada kode. Git memungkinkan sinkronisasi dan penggabungan perubahan dengan mudah, sehingga seluruh anggota tim selalu memiliki versi kode terbaru.
3. Speed and Performance
Salah satu keunggulan utama dari Git adalah kecepatannya. Git dirancang dengan teknik caching dan kompresi data yang efisien sehingga Git dapat bekerja cepat, bahkan pada proyek yang sangat besar sekalipun.
4. Cross-platform
Git dapat digunakan pada berbagai Operating System, seperti Windows, macOS, dan Linux. Hal ini memungkinkan developer untuk bekerja pada proyek menggunakan sistem operasi yang berbeda.
Github dan GitLab
Git sering dipadukan dengan platform cloud untuk menyimpan source code atau repository. Platform populer yang sering digunakan adalah Github dan Gitlab. Kedua platform ini merupakan layanan berbasis cloud untuk menyimpan dan mengelola project atau repository Git. Namun, keduanya memiliki perbedaan.
Github
Github diluncurkan pada April 2008 oleh Tom Preston-Werner, Chris Wanstrath, dan PJ Hyett. Selain untuk menyimpan repository, Github juga menyediakan fungsi jejaring sosial seperti feed, Followers, dan wiki. Kemudian, di dalam Github juga dilengkapi dengan forks, yaitu fitur untuk menduplikasi suatu proyek dan menjadi kanal bagi pengembang lain di luar tim utama proyek tersebut untuk mengirimkan kode yang hendak dikontribusikan.
Software Github ditulis dalam bahasa Ruby on Rails dan Erlang oleh Github. Selain sebagai media penyimpanan source code, Github memberikan fitur lain diantaranya sebagai berikut:
- Public/Private Repository, Kita dapat mengatur status keterlihatan project kita akan menggunakan fitur public atau private, Jika kita menggunakan fitur public maka project kita dapat dilihat, diubah, dan diunduh oleh siapa saja. Namun jika kita menggunakan fitur private maka project yang sedang kita kerjakan hanya dapat dilihat dan diubah oleh kita saja. Tetapi fitur private adalah fitur berbayar.
- Dokumentasi, termasuk memberikan file README secara otomatis dalam berbagai format Markdown.
- Issue Tracking, yaitu fitur pelacakan masalah yang terjadi dalam konten yang sedang dikembangkan. fitur ini dibekali dengan labels, milestone, assignees(penerimaan pengalihan hak), dan search engine.
- Commits history, dengan adanya fitur ini perubahan yang kita lakukan akan tetap ada rekam jejaknya. Contohnya jika kita telah melakukan project beta 1, kemudian kita melakukan perubahan kembali dengan beta 2 maka project beta 1 akan tetap ada.
- Notifikasi Email, Kita akan mendapatkan notifikasi melalui email tentang apa sedang terjadi dalam Github.
GitLab
Logo GitLab |
GitLab diluncurkan tahun 2011 sebagai pesaing Github. Gitlab software dikembangkan oleh Dmitriy Zaporozhets dan Valery Sizov dari Ukraina. Dengan munculnya Gitlab membuat para developer melirik dan mulai mencoba fitur-fitur yang ditawarkan oleh Gitlab
Penulisan kode dalam Gitlab ditulis menggunakan Ruby. Fitur GitLab hampir sama seperti Github tetapi ada beberapa fitur tambahan seperti berikut:
- Fitur Public dan Private dapat diakses dan digunakan secara Gratis.
- Gitlab didukung dengan LFS ( Large File Storage ). Sehingga mempermudah pengguna yang ingin mengupload materi di repo secara gratis.
- Unlimited Publik dan Repo Private, kita dapat membuat repo baru bahkan untuk project ber skala kecil
- Project Importing, kita tidak hanya dapat meng-import project dari Github saja, namun kita dpat meng-import project dari BitBucket, Google Code, Fogbugz, atau git repo dengan URL.
- Perlindungan hak, kita dapat mengontrol hak akses baca / tulis ke cabang tertentu.
- Wiki, Kita dapat men-dokumentasikan project kita menggunakan sistem wiki.
- API (Aplication Programming Interface ), Kita dapat mengontrol Gitlab dengan set API yang kuat.
- Track and manage releases, mempermudah proses kolaborasi dengan menggunakan satu alat untuk melacak dan memantau kemajuan project yang kita rilis. dengan tampilan kanban-style board serta dilengkapi dengan labels, milestone, due date, powerfull search, issue and MR Templates.
Kelebihan dan Kekurangan
▶ Github
Kelebihan
- Sistem luar biasa untuk basis kode sumber terbuka
- Memungkinkan berbagi dengan mudah
- Memiliki UI yang canggih dan ramah pengguna
- Menawarkan permintaan tarik dan komentar
- Memiliki komunitas besar
- Pengaturan mudah
- Memungkinkan kolaborasi jarak jauh
- Menyediakan fitur kontrol yang mudah
Kekurangan
- Tidak menawarkan banyak pengembangan API yang baik
- Sedikit mahal bagi mereka yang mencari repositori pribadi
- Tidak terlalu banyak fitur
▶ GitLab
Kelebihan
- Memiliki penambahan fitur baru yang konsisten
- Menawarkan permintaan tarik dan tinjauan kode
- Memiliki pengalaman pengguna CLI
- Menawarkan manajemen paket
- Mendukung siklus hidup CI/CD
- Mudah pemeliharaan kode
- Proses pemutakhiran yang bermasalah
- Kurangnya beberapa fitur tingkat perusahaan
- Komunitas kecil
Kesimpulan
Dapat disimpulkan bahwa Git adalah Version Control System yang cepat dan fleksibel. Git digunakan oleh banyak developer untuk mengelola dan memanajemen source code secara efisien serta bisa digunakan sebagai alat untuk bekerja sama. Kemudian ada GitHub dan GitLab sebagai platform hosting yang populer untuk menyimpan repositori Git secara online. Kedua platform memiliki fitur dan keunggulannya masing-masing. Pilihan platform yang tepat bergantung pada kebutuhan setiap individu.
0 Komentar