Bagi para developer, Anda pasti pernah mendengar tentang Git. Kalau Anda mungkin belum kenal, Anda sedang membaca artikel yang tepat! Di artikel ini, kami akan membahas tentang apa itu Git dan mengapa Anda membutuhkannya.
Apa itu Version Control System?
Version Control System adalah sebuah kategori software yang membantu sebuah tim software mengelola perubahan pada source code. Version control system mencatat semua modifikasi yang dilakukan ke kode di sebuah database khusus. Jika terjadi sebuah kesalahan, developer bisa melihat kode versi awal untuk memperbaiki kesalahan dengan disrupsi minimal.
Untuk semua projek software, source code adalah sebuah asset yang penting. Untuk kebanyakan orang, source code adalah tempat penyimpanan pengetahuan dan pemahaman yang tak ternilai tentang berbagai masalah yang dicatat dan diperbaiki oleh para developer. Version control melindungi source code dari berbagai masalah atau kesalahan manusia dan konsekuensi yang tidak diinginkan.
Developer software terus menulis source code baru dan mengubah source code yang ada. Kode untuk proyek, aplikasi atau komponen perangkat lunak biasanya diatur dalam struktur folder atau pohon file. Satu developer di tim mungkin bekerja pada fitur baru sementara developer lain memperbaiki bug dengan mengubah kode. Jadi dengan pohon file, setiap developer dapat membuat perubahan mereka di beberapa bagian dari pohon file.
Version control system dapat membantu tim memecahkan masalah semacam ini dengan melacak setiap perubahan individual oleh masing-masing kontributor. Perubahan yang dilakukan di satu bagian software bisa jadi tidak kompatibel dengan perubahan yang dibuat oleh developer lain yang bekerja pada saat yang bersamaan. Masalah ini harus ditemukan dan diselesaikan secara teratur tanpa menghalangi pekerjaan tim lainnya. Selanjutnya, dalam semua pengembangan software, perubahan apa pun dapat memperkenalkan bug baru pada perangkat lunaknya sendiri dan baru tidak dapat dipercaya sampai diuji. Jadi pengujian dan pengembangan berjalan bersama hingga versi baru siap.
Git adalah salah satu version control system yang paling banyak digunakan.
Apa itu Git?
Sejauh ini, version control system modern yang paling banyak digunakan di dunia adalah Git. Git adalah proyek open source yang awalnya dikembangkan pada tahun 2005 oleh Linus Torvalds, pencipta kernel sistem operasi Linux yang terkenal. Ada banyak proyek software yang mengandalkan Git sebagai version control system mereka termasuk proyek komersial serta open source.
Memiliki arsitektur terdistribusi, Git adalah contoh dari DVCS (Distributed Version Control System). Dimana mereka tidak hanya memiliki satu tempat tunggal untuk menyimpan sejarah lengkap sebuah software. Di Git, setiap copy kode kerja developer juga merupakan repositori yang dapat berisi riwayat lengkap dari semua perubahan. Selain didistribusikan, Git telah dirancang dengan kinerja, keamanan, dan fleksibilitas yang maksimal.
Performance
Kinerja Git sudah tidak perlu diragukan lagi. Algoritma yang diimplementasikan di dalam Git memanfaatkan pengetahuan mendalam tentang atribut umum dari pohon file source code, dan bagaimana mereka biasanya dimodifikasi dari waktu ke waktu dan apa pola aksesnya.
Tidak seperti beberapa software version control, Git tidak tertipu oleh nama-nama file ketika menentukan penyimpanan dan sejarah versi dari pohon file seharusnya. Sebaliknya, Git berfokus pada konten file itu sendiri. Apalagi, file source code sering diganti namanya, dibagi, dan disusun kembali. Format objek file repositori Git menggunakan kombinasi delta encoding (menyimpan perbedaan konten), kompresi dan secara eksplisit menyimpan isi direktori dan objek metadata sebuah versi.
Distribusi juga memiliki pengaruh yang signifikan terhadap performance. Misalnya, seorang developer membuat perubahan pada source code, menambahkan fitur untuk rilis 2.0, lalu melakukan perubahan tersebut dengan pesan deskriptif. Dia kemudian bekerja pada fitur kedua dan melakukan perubahan itu juga. Secara alami ini disimpan sebagai bagian kerja terpisah dalam sejarah versi. Developer kemudian beralih ke cabang versi 1.3 dari software yang sama untuk memperbaiki bug yang hanya mempengaruhi versi yang lebih lama itu. Tujuannya adalah untuk memungkinkan tim developer mengirimkan rilis perbaikan bug, versi 1.3.1, sebelum versi 2.0 siap. Developer kemudian dapat kembali ke cabang 2.0 untuk terus mengerjakan fitur-fitur baru untuk 2.0 dan semua ini dapat terjadi tanpa akses jaringan dan karena itu cepat dan dapat diandalkan.
No comments:
Post a Comment