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

[INPUT]

1 sudo apt-get install git

-Konfigurasi Git pertama kali-

[INPUT]

1 2 git config –global user.name “Your Name” git config –global user.email “youremail@domain.com”

-Local Repository-

Masuk ke folder proyek, lalu ketik perintah

[INPUT]

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*.

[INPUT]

1 git add .

Untuk mengetahui file apa saja yang dimasukkan

[INPUT]

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.

[INPUT]

1 git commit -m “versi awal proyek”

Jadi setiap ada perubahan pada source code dan ingin meyimpan versi tersebut ketik

[INPUT]

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.

GitHub vs Bitbucket (sumber: https://gist.github.com/foogit/8410710)

GitHub vs Bitbucket dari sisi biaya (sumber: https://www.process.st/bitbucket-vs-github-version-control-software/)

Generate SSH key

SSH key digunakan sebagai pengganti password ketika akan mengakses (upload/download) ke private remote repository.

[INPUT]

1 ssh-keygen -t rsa -b 4096 -C “your_email@example.com”

Masukkan nama file untuk menyimpan key, ~/.ssh/id_rsa

[INPUT]

1 Enter file in which to save the key (/home/user/.ssh/id_rsa):

Passphrase bisa dikosongkan

[INPUT]

1 2 Enter passphrase (empty for no passphrase): Enter same passphrase again:

Jalankan ssh-agent

[INPUT]

1 eval “$(ssh-agent -s)”

Masukkan key ke ssh-agent

[INPUT]

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

[INPUT]

1 ssh -T git@github.com

Hasilnya

[INPUT]

1 Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.

*Membuat repository Github*

Tambahkan remote repository

[INPUT]

1 git add remote origin git@github.com:username/repository.git

Mengecek remote repository

[INPUT]

1 git remote -v

Hasilnya

[INPUT]

1 2 origin ssh://git@github.com:username/repository.git (fetch) origin ssh://git@github.com:username/repository.git (push)

Upload source code ke remote repository

[INPUT]

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

[INPUT]

1 ssh -T hg@bitbucket.org

Hasilnya

[INPUT]

1 2 logged in as username. You can use git or hg to connect to Bitbucket. Shell access is disabled.

[INPUT]

1 2 git remote add origin ssh://git@bitbucket.org/username/repository.git 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 🙂

Leave a Reply

Your email address will not be published.