Version Control System (VCS) dengan Git, GitHub, dan Bitbucket
Version Control System (VCS) adalah sebuah sistem yang mencatat setiap perubahan terhadap sebuah file dalam hal ini kode program, sehingga pada suatu saat kita ingin mengembalikan file ke versi sebelumnya dapat dilakukan.
Sejarah
Git merupakan perangkat lunak VCS yang sangat populer saat ini dan menjadi salah satu persyaratan skill programer yang sering diminta oleh perusahaan.
Git dikembangkan pertama kali oleh Linus Torvalds yang juga dikenal sebagai pencipta kernel Linux. Pada awalnya para pengembang kernel Linux menggunakan Bitkeeper, namun karena hubungan antara komunitas pengembang kernel Linux dengan perusahaan yang mengembangkan Bitkeeper retak dan status gratis Bitkeeper dicabut dengan terpaksa para pengembang Linux harus membuat perangkat lunak VCS sendiri.
Pengganti Bitkeeper yang dirancang harus dapat memenuhi beberapa hal berikut:
- Kecepatan
- Desain yang sederhana
- Dukungan penuh untuk pengembangan non-linear (ribuan cabang paralel)
- Terdistribusi secara penuh
- Mampu menangani proyek besar seperti kernel Linux secara efisien (dalam kecepatan dan ukuran data)
Git lahir pada tahun 2005, dan hingga kini telah berkembang dan semakin mudah digunakan.
Instalasi Git di Ubuntu
Perintah di bawah ini adalah cara instalasi Git di distro Linux berbasis Debian/Ubuntu. Untuk cara instalasi distro atau sistem operasi lain dapat dibaca di git-scm.com
1 | sudo apt-get install git |
Konfigurasi Git pertama kali
1 2 | git config --global user.name "Your Name" |
Local Repository
Masuk ke folder proyek, lalu ketik perintah
1 | git init |
Perintah di atas akan membuat folder baru bernama .git, yang berisi kerangka Git.
Selanjutnya memasukkan file source code yang akan dipantau perubahannya.
git add . untuk menambahkan semua file yang akan dipantau, jika hanya file tertentu saja cukup git add namafile.
1 | git add . |
Untuk mengetahui file apa saja yang dimasukkan
1 | git status |
git commit untuk mulai memantau file yang sudah dimasukkan dan menyimpan versi tersebut. Dan tidak lupa ditambah -m “versi awal proyek” sebagai pesan atau keterangan bahwa versi tersebut apa yang telah diubah atau ditambahkan agar lebih jelas.
1 | git commit -m "versi awal proyek" |
Jadi setiap ada perubahan pada source code dan ingin meyimpan versi tersebut ketik
1 2 | git add . git commit -m "pesan commit" |
Remote Repository
Remote repository merupakan server yang menyimpan source code yang sudah dibuat di local repository. Remote repository sangat berguna jika ingin mengerjakan proyek secara kolaborasi dengan tim. Meskipun kita tidak berkerja dengan tim, remote repository bisa menjadi backup server dari proyek yang sudah kita kembangkan.
Ada 2 layanan remote repository server yang cukup populer yaitu Github dan Bitbucket. Perbedaan mendasarnya Github gratis untuk public repository, sehingga semua source code kita bisa dilihat oleh semua orang. Sementara untuk private repository berbayar. Github banyak digunakan oleh proyek-proyek open source untuk menyimpan source code dan berkolaborasi dengan programer lain di seluruh dunia. Contohnya proyek open source terbesar di dunia, kernel Linux menggunakan GitHub.
Sedangkan Bitbucket gratis untuk private repository dengan maksimal 5 user untuk kolaborasi. Bitbucket cocok digunakan oleh freelancer atau tim programer yang beranggotakan 5 orang.
Generate SSH key
SSH key digunakan sebagai pengganti password ketika akan mengakses (upload/download) ke private remote repository.
1 |
Masukkan nama file untuk menyimpan key, ~/.ssh/id_rsa
1 | Enter file in which to save the key (/home/user/.ssh/id_rsa): |
Passphrase bisa dikosongkan
1 2 | Enter passphrase (empty for no passphrase): Enter same passphrase again: |
Jalankan ssh-agent
1 | eval "$(ssh-agent -s)" |
Masukkan key ke ssh-agent
1 | ssh-add ~/.ssh/id_rsa |
Github
- Buat akun di Github.com.
- Buka menu Settings, Personal Settings->SSH and GPG keys.
- Buat key baru yang isinya dari file id_rsa.pub. Pastikan tercopy dengan baik jangan sampai ada spasi di akhir teks.
Menguji koneksi SSH ke Github
1 | ssh -T git@github.com |
Hasilnya
1 | Hi username! You've successfully authenticated, but GitHub does not provide shell access. |
Membuat repository Github
Tambahkan remote repository
1 | git add remote origin git@github.com:username/repository.git |
Mengecek remote repository
1 | git remote -v |
Hasilnya
1 2 |
Upload source code ke remote repository
1 | git push -u origin master |
Bitbucket
- Buat akun di Bitbucket.org.
- Buka menu Bitbucket settings, Security->SSH keys.
- Buat key baru yang isinya dari file id_rsa.pub. Pastikan tercopy dengan baik jangan sampai ada spasi di akhir teks.
Menguji koneksi SSH ke Bitbucket
1 | ssh -T hg@bitbucket.org |
Hasilnya
1 2 | logged in as username. You can use git or hg to connect to Bitbucket. Shell access is disabled. |
1 2 | git push -u origin master |
Sumber belajar Git
Untuk mempelajari Git lebih lengkap, kamu bisa belajar dari beberapa sumber berikut ini:
- git-scm.com
- Git tutorial @Atlassian.com
- Git tutorial @Github.com
- Git tutorial @Vogella.com
- Git tutorial @Tutorialspoint.com
- Tutorial Git secara interaktif
- Git simple guide
selamat mencoba 🙂