Rabu, 11 Januari 2017

Install Full Functional Git Pada Android OS

Ceritanya saya sedang mengerjakan project web application, saya gunakan Git untuk version control dan kolaborasi dengan team. Untuk PC memang sudah banyak tersedia git client dari mulai CLI sampai GUI, dari platform Linux sampai Windows semua ada. Nah, masalah muncul saat saya lagi malas buka laptop atau sedang tidak membawa alat tempur saya itu. Saya mempunyai smartphone Android, dalam pikiran saya terlintas "apakah bisa git client di pasang di handphone saya ini?". Saya mencoba mencari aplikasi yang relevan di Google Play Store, ya memang sudah tersedia beberapa git client untuk Android. Masalahnya, semua aplikasi tersebut hanya mendukung pull. Belum ada yang full functional atau berfungsi seutuhnya.

Kemudian, tantangan selanjutnya adalah "apakah bisa sebuah git binary di pasang langsung pada Android?" saya mencari jawaban tersebut dan menemukan jawabannya disini. Saya tulis kembali dalam bahasa Indonesia dan sedikit saya sesuaikan supaya bisa berjalan pada smartphone saya. Berikut langkah-langkahnya:

Pertama, install Termux pada handphone android anda. Info terkahir yang saya baca, termux hanya mendukung Android versi 5.0 ke atas.
Kemudian, buka aplikasi termux yang anda install tadi. Akan muncul pesan sambutan "Welcome to Termux" tap Oke.

Pada termux, ketik
$ apt update
$ apt upgrade
Kemudian muncul pertanyaan, Do you want to continue? [Y/n]. Ketik Y kemudian enter. Tunggu sampai proses selesai.

Selanjutnya kita akan menginstall Git dan OpenSSH pada termux. Ketik perintah berikut ini.
$ apt install git openssh
Ketik Y kemudian enter. Tunggu sampai proses download dan installasi selesai.

Kemudian, lakukan sedikit konfigurasi untuk ruang kerja git. Ketik perintah di bawah ini.
$ git config user.name "[username]"
$ git config user.email "[username]@[server]"

Sampai proses ini, pemasangan dasar git sudah selesai. Dan git sudah bisa di gunakan untuk membuat repository lokal. Kemudian, bagaimana dengan cloning repository pada remote server seperti Github atau Bitbucket?

Ada 2 cara cloning yang di sediakan oleh git hosting populer, menggunakan protocol HTTPS atau menggunakan SSH.

Untuk HTTPS anda tinggal mengetik:
Github
$ git clone https://github.com/[username]/[repository].git
Bitbucket
$ git clone https://[username]@bitbucket.org/[username]/[repository].git

Sedangkah untuk SSH, anda harus melakukan konfigurasi dan membuat public SSH Keys terlebih dahulu untuk berkomunikasi dengan remote git.

Buat keys baru
$ mkdir ~/.ssh
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa
Kemudian, akan muncul pesan Enter Passphrase (empty fo no passphrase), tekan enter. Kemudian muncul pesan Enter same passphrase again, tekan enter lagi.
Selanjutnya, copy file id_rsa.pub ke sdcard menggunakan perintah di bawah ini.
$ cp ~/.ssh/id_rsa.pub /mnt/sdcard

Kemudian, kita daftarkan public ssh key yang kita buat tadi ke git hosting. buka file id_rsa.pub yang tadi kita copy ke sdcard, copy semua isinya.

Github: Klik icon user pada pojok kanan atas -> Settings -> SSH and GPG Keys -> New SSH Keys, kemudian masukan Title dan pastekan ssh key pada kolom Key. Tekan tombol Add SSH Key untuk menyimpan.

Bitbucket: Klik icon user pada pojok kanan atas -> Bitbucket settings -> SSH Keys -> Add key, kemudian masukan Label dan dan pastekan ssh key pada kolom Key. Tekan tombol Add Key untuk menyimpan.

Langkah selanjutnya adalah melakukan login ssh tadi.
Github
$ ssh -T git@github.com
Bitbucket
$ ssh -T git@bitbucket.org

Kemudian akan muncul pesan Are you sure you want to continue connection (yes/no)?, ketik yes kemudian enter.

Jika berhasil login, untuk Github akan muncul pesan Hi [username] You've successfully authenticated, but GitHub does not provide shell access. Sedangkan Bitbucket muncul pesan logged in as [username] You can use git or hg to connect Bitbucket. Shell access is disabled.  

Silahkan clone repository anda.
Github
$ git clone git@github.com:[username]/[repository_name].git
Bitbucket
$ git clone git@gitbucket.org:[username]/[repository_name].git

Selamat, installasi git pada handphone android anda berhasil! Sekian dan terimakasih :)

Disclaimer:
-Smartfren Andromax EC
-Android 5.0 Lollipop
-Rooted

Em Suryadi

Show Comments