Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Git telah menjadi standar di seluruh dunia untuk kontrol versi. Jadi apa sebenarnya itu?
Git adalah sistem kontrol versi terdistribusi, yang berarti bahwa klon lokal proyek adalah repositori kontrol versi lengkap. Repositori lokal yang berfungsi penuh ini memudahkan untuk bekerja secara offline atau jarak jauh. Pengembang menerapkan pekerjaan mereka secara lokal, lalu menyinkronkan salinan repositori mereka dengan salinan di server. Paradigma ini berbeda dari kontrol versi terpusat di mana klien harus menyinkronkan kode dengan server sebelum membuat versi kode baru.
Fleksibilitas dan popularitas Git menjadikannya pilihan yang tepat untuk tim mana pun. Banyak pengembang dan lulusan perguruan tinggi sudah tahu cara menggunakan Git. Komunitas pengguna Git telah membuat sumber daya untuk melatih pengembang dan popularitas Git memudahkan untuk mendapatkan bantuan saat diperlukan. Hampir setiap lingkungan pengembangan memiliki dukungan Git dan alat baris perintah Git yang diterapkan pada setiap sistem operasi utama.
Dasar-dasar Git
Setiap kali perubahan disimpan, Git membuat commit. Commit adalah snapshot dari semua file pada titik waktu tertentu. Jika file belum berubah dari satu penerapan ke penerapan berikutnya, Git menggunakan file yang disimpan sebelumnya. Desain ini berbeda dari sistem lain yang menyimpan versi awal file dan menyimpan catatan delta dari waktu ke waktu.
Commit membuat tautan ke commit lain, membentuk graf riwayat pengembangan. Dimungkinkan untuk mengembalikan kode ke penerapan sebelumnya, memeriksa bagaimana file berubah dari satu penerapan ke penerapan berikutnya, dan meninjau informasi seperti di mana dan kapan perubahan dilakukan. Komit diidentifikasi dalam Git dengan hash kriptografi unik berdasarkan isi komit. Karena semuanya di-hash, tidak mungkin untuk membuat perubahan, kehilangan informasi, atau file yang rusak tanpa Git mendeteksinya.
Cabang
Setiap pengembang menyimpan perubahan pada repositori kode lokal mereka sendiri. Akibatnya, mungkin ada banyak perubahan yang berbeda yang didasarkan pada commit yang sama. Git menyediakan alat untuk mengisolasi perubahan dan kemudian menggabungkannya kembali bersama-sama. Cabang, yang merupakan pointer ringan untuk pekerjaan yang sedang berlangsung, mengatur pemisahan ini. Setelah pekerjaan yang dibuat di cabang selesai, pekerjaan tersebut dapat digabungkan kembali ke cabang utama (atau induk) tim.
File dan komit
File di Git berada di salah satu dari tiga status: dimodifikasi, di-stage, atau di-commit. Ketika file pertama kali dimodifikasi, perubahan hanya ada di direktori kerja. Mereka belum menjadi bagian dari komit atau riwayat pengembangan. Pengembang harus men-stage file yang diubah untuk disertakan dalam commit. Area penahapan berisi semua perubahan untuk disertakan dalam penerapan berikutnya. Setelah pengembang puas dengan file yang telah diatur, file dikemas sebagai commit dengan pesan yang menjelaskan perubahan yang dilakukan. Commit ini menjadi bagian dari sejarah pengembangan.
Penahapan memungkinkan pengembang memilih perubahan file mana yang akan disimpan dalam sebuah commit untuk memecah perubahan besar menjadi serangkaian commit yang lebih kecil. Dengan mengurangi cakupan penerapan, lebih mudah untuk meninjau riwayat penerapan untuk menemukan perubahan file tertentu.
Manfaat Git
Manfaat Git banyak.
Pengembangan simultan
Setiap orang memiliki salinan kode lokal mereka sendiri dan dapat bekerja secara bersamaan di cabang mereka sendiri. Git bekerja offline karena hampir setiap operasi bersifat lokal.
Rilis yang lebih cepat
Cabang memungkinkan pengembangan yang fleksibel dan simultan. Cabang utama berisi kode stabil dan berkualitas tinggi tempat Anda merilis. Cabang fitur berisi pekerjaan yang sedang dikerjakan, yang digabungkan ke cabang utama setelah selesai. Dengan memisahkan cabang rilis dari pengembangan yang sedang berlangsung, lebih mudah untuk mengelola kode yang stabil dan mengirim pembaruan dengan lebih cepat.
Integrasi bawaan
Karena popularitasnya, Git terintegrasi ke dalam sebagian besar alat dan produk. Setiap IDE utama memiliki dukungan Git bawaan, dan banyak alat mendukung integrasi berkelanjutan, penyebaran berkelanjutan, pengujian otomatis, pelacakan item kerja, metrik, dan integrasi fitur pelaporan dengan Git. Integrasi ini menyederhanakan alur kerja sehari-hari.
Dukungan komunitas yang kuat
Git adalah sumber terbuka dan telah menjadi standar de facto untuk kontrol versi. Tidak ada kekurangan alat dan sumber daya yang tersedia bagi tim untuk memanfaatkan. Volume dukungan komunitas untuk Git dibandingkan dengan sistem kontrol versi lainnya memudahkan untuk mendapatkan bantuan ketika diperlukan.
Git bekerja dengan tim mana pun
Menggunakan Git dengan alat manajemen kode sumber meningkatkan produktivitas tim dengan mendorong kolaborasi, menegakkan kebijakan, mengotomatiskan proses, dan meningkatkan visibilitas dan keterlacakan pekerjaan. Tim dapat memilih alat-alat individu untuk pengendalian versi, pelacakan item kerja, serta integrasi dan penerapan berkelanjutan. Atau, mereka dapat memilih solusi seperti GitHub atau Azure DevOps yang mendukung semua tugas ini di satu tempat.
Permintaan tarik
Gunakan permintaan pull untuk membahas perubahan kode dengan tim sebelum menggabungkannya ke cabang utama. Diskusi dalam permintaan pull sangat berharga untuk memastikan kualitas kode dan meningkatkan pengetahuan di seluruh tim Anda. Platform seperti GitHub dan Azure DevOps menawarkan pengalaman permintaan pull yang kaya di mana pengembang dapat menelusuri perubahan file, meninggalkan komentar, memeriksa penerapan, melihat build, dan memilih untuk menyetujui kode.
Kebijakan cabang
Teams dapat mengonfigurasi GitHub dan Azure DevOps untuk memberlakukan alur kerja dan proses yang konsisten di seluruh tim. Mereka dapat menyiapkan kebijakan cabang untuk memastikan bahwa permintaan tarik memenuhi persyaratan sebelum diselesaikan. Kebijakan cabang melindungi cabang penting dengan mencegah dorongan langsung, membutuhkan peninjau, dan memastikan build yang bersih.