Saat ini sistem Git sangat popular di kalangan pengembang perangkat lunak. Bahkan perusahaan raksasa seperti Facebook dan Google sudah mengadopsi sistem Git. Apakah kamu sudah tahu cara menggunakan Git? Belum? Ingin belajar lebih dalam mengenai Git?
Selamat! Kamu berada di tempat yang tepat. Karena sesaat lagi, saya akan berbagai pengalaman tentang cara menggunakan Git. Saya akan memaparkan dasar-dasar tentang Git dan cara mengaplikasikannya.
Apa yang akan kamu pelajari?
Materi ini sangat newbie-friendly. Jadi, kamu tidak perlu takut pusing. Pelajari saja dulu. Mudah, kok! Pada setiap pembahasan saya beri ilustrasi dan gambar petunjuk. Dengan demikian, kamu bisa mengikuti materi ini step by step dengan mudah. Dahsyat, bukan? Baca sampai selesai.
Git merupakan sebuah Version Control System (VCS) yang dikembangkan oleh Linus Torvalds. Kamu sudah tahu siapa dia, bukan? Linus Torvalds adalah pendiri dan pengembang operating system (OS) Linux.
Sebelum membahas lebih dalam tentang Git, saya akan sedikit bercerita tentang VCS. Karena VCS adalah pengantar tentang Git. Dengan demikian, kamu tidak bingung! Setuju ya? Okay, lanjut!
VCS merupakan pengembangan dari software pendahulunya yang bernama Distributed Version Control System (DVCS). Kelemahan sistem DVCS terletak pada penyimpanan database Git. Di mana penyimpanan database Git terdistribusi. Jadi, database Git tidak hanya terletak pada satu tempat saja.
Linus Torvalds menyelesaikan masalah tersebut dengan merancang Version Control System (VCS) Git. Linus mengembangkan sistem yang memusatkan kontrol versi dalam satu database. Sehingga, setiap pengguna yang mengubah berkas/script akan tercatat pada data pusat.
Berikut ilustrasi sebelum dan sesudah adanya sistem Git Linus Torvalds.
1. Distributed Version Control System (DVCS).
2. Version Control System (VCS).
Apa yang bisa kamu pelajari dari ilustrasi di atas? Fokus pada sistem penyimpanannya. Masih belum paham? Baiklah, saya akan bantu menjelaskannya.
Perbedaan terbesar Distributed Version Control System dengan Version Control System terletak pada penyimpanannya.
Berkat ide jenius dari sistem Git, muncullah perusahaan GitHub. Perusahaan GitHub menyediakan cloud hosting untuk software development version control dengan menggunakan sistem Git. Alhasil, sistem Git mendadak popular di seluruh dunia.
Sedikit penjelasan tentang GitHub, Inc. GitHub didirikan pada 8 February 2008. Pendiri GitHub adalah Tom Preston-Werner, Scott Chacon, Chris Wanstrath dan P.J Hyett. Saat ini, perusahaan GitHub terdaftar sebagai anak perusahaan Microsoft.
Dan GitHub memiliki karyawan sebanyak 1079 orang. GitHub memiliki pengguna aktif sebanyak 40 juta pengguna pada Agustus 2019. Sangat menakjubkan, bukan?
Dengan adanya GitHub, software development menjadi lebih mudah. Karena bisa terjadi kolaborasi antar pengembang software dengan sistem pengontrolan yang terpusat. Jadi, setiap pengembang dapat mengetahui informasi apa saja yang telah dikerjakan oleh rekan setimnya.
Dalam industri pengembangan perangkat lunak, sistem kolaborasi proyek sangat umum dilakukan. Tujuannya sangat sederhana, yaitu mempercepat penyelesaian produk digital. Sistem Git mempermudah semua aspek dari proyek kolaborasi tersebut. Bahkan, perusahaan raksasa seperti Google, Microsoft, Facebook, dan sejenisnya menggunakan sistem Git.
5 Alasan Kenapa Git Sangat Penting Untuk Kamu Pelajari:
Saya harap kamu sudah memantapkan diri untuk mulai belajar Git. Siap? Let’s dive in!
CATATAN: Dalam 10 menit ke depan, saya akan mengajarimu cara menggunakan Git. Tolong fokus dalam belajar. Karena ini dasar dari Git. Jika kamu mampu menguasainya, kamu akan mahir dalam waktu cepat.
Requirement:
Sebenarnya ada berbagai tools lainnya yang membantu dalam pengaplikasian Git. Contohnya: GitKraken dan GitHub Dekstop. Tools ini secara GUI sangat praktis. Namun, bagi pemula yang baru belajar Git, lebih baik membiasakan diri dengan bash Command Line Interface (CLI).
Setelah kamu menyelesaikan requirement yang saya berikan, saatnya mulai belajar Git. Silakan ikuti tutorial di bawah ini:
Langkah #1: Pastikan kamu masuk terminal Git terlebih dahulu.
Catatan:
Bagi kamu pengguna Windows, langsung saja klik kanan pada area folder kosong. Selanjutnya, cari dan klik Git Bash Here.
Langkah #2: Masukkan Username dan Email menggunakan perintah di bawah ini.
git config --global user.name "Your name here" git config --global user.email "your_email@example.com"
Catatan:
Langkah #3: Login ke akun GitHub milikmu.
Langkah #4: Setelah berhasil login, klik ikon plus pada bagian kanan atas halaman aktif GitHub. Selanjutnya, klik New Repository.
Langkah #5: Isi kolom Repository Name dengan nama yang kamu suka. Pastikan menu lainnya terisi sesuai dengan gambar yang saya contohkan. Jika sudah sama, klik Create Repository.
Catatan:
Ada tiga hal penting yang perlu kamu pahami dari halaman repository di atas:
Langkah #6: Salin link yang ada pada form quick setup.
Perhatikan gambar di bawah ini:
Catatan:
Link ini merupakan link untuk mengambil, mengubah, maupun menghapus berkas pada repository. Hak akses user tergantung dengan pengaturan Collaborator. Owner memiliki hak akses penuh terhadap repository. Jadi, sebagai owner kamu bebas memodifikasi repository milikmu.
Langkah #7: Masuk ke terminal kamu. Selanjutnya, pergi ke direktori tujuan penyimpanan repository. Kemudian, ketikkan git clone + link yang sudah kamu salin pada langkah #6.
Catatan:
Langkah #8: Setelah sukses mengambil repository maka kamu dapat menambahkan berkas apapun pada folder tersebut.
Catatan:
Pastikan hanya mengunggah berkas yang berkaitan dengan pengembangan perangkat lunak.
Langkah #9: Untuk menambahkan berkas, ketikkan git add. Setelah sukses menambahkan berkas ketikkan git commit –m “Initial Commit“. Dan terakhir ketikkan git push origin master.
Bingung ya? Perhatikan gambar di bawah ini:
Catatan:
Langkah #10: Setelah kamu sukses dalam menggunggah berkas ke GitHub, silahkan pergi ke repository.
Perhatikan gambar di bawah ini:
Catatan:
Apabila berkas yang kamu ungguh sudah sesuai, berarti kamu telah berhasil menambahkan berkas.
Untuk memudahkan kamu belajar, saya akan menjelaskan poin per poin.
1. Navigasi Repository.
Nama Navigasi | Kegunaan |
Code | Berisikan isi berkas dari repository |
Issues | Navigasi ini akan menampilkan report apa saja yang kamu tandai maupun orang lain. Misalnya: bug, pertanyaan atau penyempurnaan kode yang ada pada repository. |
Pull Requests | Navigasi ini berisikan tanda pull dari pengembang lain yang berfungsi untuk melakukan mengupdate folder. Bahasa sederhananya adalah permintaan untuk menggabungkan kode/update kode. |
Actions | Menu yang berfungsi untuk pembuatan workflow build, test dan deploy code pada repository. |
Projects | Menu ini berfungsi untuk mengatur setiap collaborator yang memiliki project pada repository tersebut. |
Wiki | Halaman ini berfungsi untuk menampilkan dokumentasi dari repository. Sederhananya, seperti roadmap dari repository tersebut. |
Security | Navigasi ini berfungsi sebagai pemberi peringatan. Halaman ini terdiri dari peringatan versi library. Jadi, peringatan muncul untuk mendeteksi kode yang mengandung vulnerabilities atau tidak. |
Insights | Navigasi ini berfungsi untuk melihat log apa saja yang ada pada repository. |
Settings | Navigasi ini untuk mengatur privacy repository. User yang dapat mengakses navigasi ini secara mutlak adalah owner repository. Collaborator yang telah diberikan izin dari pemilik repository juga dapat mengaksesnya. |
2. General Information.
Menu tersebut berisikan informasi umum mengenai data dari repository. Misalnya: jumlah commit yang telah dibuat, total branch yang ada. Dan jumlah collaborator dalam satu repository..
3. Drop Down Master.
Drop down master berisikan tentang branch apa saja yang terdapat di repository. New pull request untuk memberitahu pengguna lain bahwa repository telah diperbaharui.
4. Latest Commit.
Berisikan informasi tentang daftar berkas yang diunggah ke dalam repository.
Basic stash & pull sangat berguna untuk repository yang memiliki collaborator lebih dari satu. Saya akan menjelaskannya secara bertahap. Agar kamu tidak bingung, saya akan memberi ilustrasi pull pada Git.
Perhatikan gambar penggunaan pull pada Git di bawah ini:
Apabila dari collaborator_1 melakukan push ke repository maka collaborator selain collaborator_1 harus melakukan pull terlebih dahulu. Pull bisa kamu asumsikan sebagai pembaruan berkas pada repository GitHub.
Jadi, database telah diperbaharui oleh collaborator_1. Setelah kamu melakukan pull maka kamu (sebagai collaborator_2) baru bisa melakukan push ke repository GitHub.
Bayangkan kamu sedang bekerja dengan lebih dari 1 collaborator. Dan antara collaborator tersebut mengubah baris kode yang sama. Pertanyaannya,”Kode mana yang akan disimpan oleh repository? Apabila nanti akan terjadi masalah? Bagaimana solusinya?”
Jawabannya: Jika antar collaborator melakukan push ke repository dalam baris kode yang sama maka yang tersimpan adalah push pertama ke repository. Artinya, kode dari collaborator yang pertama kali push yang akan disimpan oleh sistem. Prinsip ini berlaku pada teknik pull and push.
Untuk memecahkan masalah ini kamu bisa menggunakan stash. Cara kerja stash cukup sederhana yaitu menyimpan semua perubahan sementara pada config git.
Sudah punya bayangan? Seperti ini alur solusi dari permasalahan di atas:
Kamu susah menerima penjelasan secara tertulis? Perhatikan ilustrasi di bawah ini.
Pastikan kamu membaca penjelasan yang saya berikan sambil melihat gambar ilustrasi.
Sampai di sini paham ya dengan cara kerja sistem pull dan stash. Masih belum paham? Hehe. Coba deh, baca lagi berulang-ulang.
“Repetition is the mother of skill“.
Apabila kamu tetap belum paham, silakan membaca berulang kali. Atau gini aja, kamu langsung mencoba praktik menggunakan stash dan pull. Mau? Coba ikuti tutorial stash dan pull di bawah ini:
Langkah #1: Buka terminal kamu dan sesuaikan dengan direktori folder yang terhubung dengan repository GitHub. Untuk pengguna Windows, langsung saja klik kanan pada folder kosong dan pilih Git Bash Here.
Langkah #2: Ketikkan perintah git stash.
Langkah #3: Ketikkan perintah git pull.
Langkah #4: Ketikkan perintah git stash pop.
Langkah #5: Pada tahap ini, kamu tinggal melakukan push ke repository seperti cara menggunakan perintah GitHub di atas.
Catatan:
Selain pull dan stash, kamu perlu belajar tentang sistem branch. Coba pahami gambar ilustrasi di atas. Apakah kamu bisa memahami cara kerja sistem branching?
Loh, jangan pusing dulu. Hehe.
Okay, saya akan bantu sedikit. Coba baca penjelasan berikut ini:
Pertama, kamu harus memahami arti asli dari branch itu sendiri. Arti dari branch adalah sebuah percabangan. Secara default, pengaturan awal Git pada repository membentuk cabang awal, yaitu master branch.
Coba bayangkan bahwa master branch ini merupakan sebuah produk yang siap di release pada pengguna. Sebagai pengembang perangkat lunak, setiap collaborator yang membuat fitur produk sebaiknya tidak push langsung ke master branch. Hal ini ditujukan untuk menghindari bug.
Dalam penambahan fitur pasti dibuatkan branch baru. Selanjutnya, setelah fitur itu selesai maka leader akan menggabungkan kode ke master branch menggunakan git merge.
Apa itu git merge? Bagaimana cara menggunakan git merge? STOP, topik ini belum bisa saya ajarkan untuk pemula. Jika kamu tertarik, kamu bisa belajar sendiri melalui Youtube ataupun Google. Kenapa? Karena untuk bisa menggunakan Git Merge kamu butuh ilmu pengantar git merge terlebih dahulu.
Okay, fokus ke topik branch Git lagi. Agar pemahaman kamu tentang branch Git semakin mendalam, saya sudah menyiapkan tutorial untukmu. Berikut langkah-langkah dasar pembuatan branch pada Git.
Langkah #1: Buka terminal kamu dan sesuaikan dengan direktori folder yang terhubung dengan repository GitHub. Untuk pengguna Windows maka kamu bisa menggunakan Git Bash Here.
Langkah #2: Ketikkan git branch x_features. Selanjutnya, ketikkan git checkout x_features.
Catatan :
Langkah #3: Pada tahap ini, kamu sudah masuk ke branch baru, yaitu x_features. Setelah itu, kamu bisa menambahkan berkas apapun ke branch tersebut. Kamu tidak perlu takut master branch-mu rusak. Jika kamu melakukannya dengan benar, semua akan aman.
Catatan:
Kamu masih ingat dengan perintah git push origin master? Kata master ini ditujukan untuk master branch. Ada kasus menarik saat kamu ingin mengunggah berkas repository ke branch lain. Kamu harus menulis perintah git push origin master diikuti dengan nama branch yang diinginkan. Sebelum ini, kamu harus pindah dulu ke branch tersebut menggunakan git checkout.
Ada banyak tools GUI untuk menggunakan git. Ada tools yang dibuat khusus untuk OS Windows, Linux maupun MacOS. Bagi pemula saya sarankan mencoba 2 tools GUI cross-platform berikut ini:
SmartGit adalah aplikasi Git GUI grafis yang mendukung untuk SVN dan Pull request untuk GitHub dan Bitbucket. Kamu bisa menggunakan SmartGit pada sistem operasi Windows, Linux, maupun MacOS. Tertarik untuk menggunakan SmartGit Pro? Lihat pricelist SmartGit di sini.
Berikut ini tampilan SmartGit:
Kelebihan SmartGit:
GitKraken adalah aplikasi Git GUI untuk Windows, Mac dan Linux. GitKraken akan membuat kerja pengembang perangkat lunak menjadi lebih produktif dan efisien. Kamu bisa menggunakan GitKraken untuk proyek kecil hingga skala besar.
Berikut ini tampilan GitKraken:
Kelebihan GitKraken:
Dari pengalaman saya dalam menggunakan tools GUI untuk Git, saya lebih suka GitKraken. Aplikasi GitKraken lebih lengkap dan mudah digunakan. GitKraken memiliki 2 opsi pengguna, yaitu opsi gratis dan opsi berbayar. Lihat pricelist GitKraken di sini.
Pada opsi GitKraken berbayar, kamu akan mendapatkan fitur pengembangan Kanban. Sistem Kanban akan sangat membantu kamu dalam mengelola jadwal, alur dan task dalam tim pengembangan software. Jadi, semua pekerjaan akan lebih terstruktur. GitKraken sangat cocok bagi tim pengembangan perangkat lunak yang menyukai agil development.
Git merupakan sebuah Version Control System (VCS) yang dikembangkan oleh Linus Torvalds. Untuk mempercepat proses pengembangan Git, Linus membuat Git menjadi open-source. Alhasil, banyak perusahaan mulai melirik potensi Git dan mengembangkannya. Salah satunya GItHub (anak perusahaan microsoft).
GitHub adalah perusahaan penyedia cloud system berbasis Git. Dengan demikian, GitHub menjadi wadah komunitas pengembang perangkat lunak dari seluruh dunia. Jika kamu ingin menjadi seorang software engineer, sebaiknya mulailah belajar tentang Git. Saya sudah membuat panduan lengkap tentang Git, GitHub, GitKraken, dll.
Apakah ada panduan atau pembahasan yang saya lewatkan? Ingatkan saya dengan menuliskan pesan kamu di kolom komentar. Akhir kata, jangan lupa like dan share artikel ini ya. Dukung website ini dengan membantu berbagi artikel ke teman-temanmu. Jadi, saya akan semakin semangat menulis artikel berkualitas. Bantu share ya! Share itu gratis, kok! Hehe.