Memperbaiki Conflict dan Log Github dengan Smartgithg

Bagi orang yang sudah bekerja dalam bidang IT, atau biasanya programmer pasti sudah tidak asing lagi dengan namanya Github. Github itu adalah social coding sejenis svn (apabila anda pernah memakai svn, dan saya sendiri belum pernah memakai svn ).
Dan berikut ini adalah pengertian dari Github:
GitHub adalah layanan penginangan web bersama untuk proyek pengembangan perangkat lunak yang menggunakan sistem pengontrol versi Git. GitHub menawarkan paket gratis dan komersial untuk proyek sumber terbuka dan diluncurkan sejak tahun 2008. Menurut survei terhadap pengguna Git pada tahun 2009, GitHub adalah situs penginangan Git terpopuler. sumber id.wikipedia.org/wiki/GitHub


Dan sekarang saya akan membahas sebuah tools yang bisa digunakan untuk memanajemen projek dengan github. Nama toolsnya adalah smartgit yang bisa di download di sini http://www.syntevo.com/smartgithg/. Dan sekarang saya hanya akan menjelaskan bagaimana apabila kita menangani sebuah conflict saat hendak melakukan command:

$ git pull

Biasaya tampilan conflictnya adalah seperti ini:

From git.xinixhost.com:blablalb
dcb307a..e11c029 master -> origin/master
CONFLICT (modify/delete): application/default/cache/si_blablalb:USER_PRIVILEGE deleted in e11c02988979e6be0307459f131fc4862fa6ef38 and modified in HEAD. Version HEAD of application/default/cache/si_blablalb:USER_PRIVILEGE left in tree.
CONFLICT (modify/delete): application/default/cache/si_blablalb:ROLE_PRIVILEGE deleted in e11c02988979e6be0307459f131fc4862fa6ef38 and modified in HEAD. Version HEAD of application/default/cache/si_blablalb:ROLE_PRIVILEGE left in tree.
Automatic merge failed; fix conflicts and then commit the result.

Nah apabila muncul error seperti itu, maka sekarang selanjutnya adalah menginstall smartgithgnya, download dulu smartgithgnya di sini http://www.syntevo.com/smartgithg/download
Lalu ikutilah perintah berikut ini:

  1. Misal smartgithg hasil downloadannya terletak di folder /home/userkamu/Downloads dengan nama smartgithg-generic-4_6_5.tar.gz.
  2. Ekstrak filenya ke dalam folder /opt
    $ sudo tar -xvf /home/userkamu/Downloads/smartgithg-generic-4_6_5.tar.gz -C /opt/

  3. Buatlah symbolic linknya:
    $ sudo ln -s /opt/smartgithg-4_6_5/bin/smartgithg.sh /usr/local/bin/smartgit

    Dengan perintah di atas, maka apabila kita ingin menggunakan smartgithg cukup ketikkan saja perintah smartgit di terminal

Lalu sekarang kita coba untuk memperbaiki file yang conflictnya dengan cara membuka workspaces (direktori kerja) kita dengan smartgith.

  1. Buka terminal dan ketikkan perintah:
    $ smartgit

    Sampai muncul tampilan seperti ini (dan jangan lupa checklist pernyataan I Understand blablabal:

  2. Lalu klik next sampai muncul kotak dialog seperti ini (apabila ingin menggunakan yang free, cukup pilih tipe yang free):
  3. Lalu klik next sampai muncul kotak dialog seperti ini (langsung aja di klik next):
  4. Lalu klik next sampai muncul kotak dialog seperti ini (Pilihlah yang Use system SSH client):
  5. Lalu klik next sampai muncul kotak dialog seperti ini (pilihlah I don’t use blablabal:

    Lalu setelah itu klik next sampai finish dan klik finish sampai muncul kotak dialog seperti ini:

    Apabila kita sebelumnya sudah mempunyai direktory kerja di PC/Laptop kita, maka pilihlah yang bagian Open an exiting blablabla

  6. Apabila muncul kotak dialog seperti ini, maka pada bagian repository browse lah ke direktori kerja kita.

    Lalu setelah itu klik next sampai klik finish.

  7. Lalu apabila langkah-langkahnya benar, maka akan muncul tampilan seperti ini:

    Lalu lihatlah pada file yang diberi tanda seru disana. Nah file yang diberi tanda seru itu adalah file yang conflict

  8. Selanjutnya klik 2 kali file yang conflict itu sampai muncul tampilan seperti ini:

    Lalu pada tampilan di atas, terlihat terbagi menjadi 3 kolom, dan kolom yang sebenarnya untuk di push kembali (menghilangkan conflict) adalah kolom “Working Tree”, maka sesuaikanlah antara kolom bagian kiri dan kanan dengan kodingan kita sebelumnya (pada bagian tengah). Lalu setelah itu klik icon save dan apabila muncul kotak dialog seperti ini:

    Pilihlah dan klik yang button stage, sampai icon tanda seru pada file yang conflict telah hilang.

Lalu sekarang pertanyaannya adalah bagaimana apabila kita kehilangan codingan kita setelah melakukan perintah “git pull”?.
Biasanya kejadian seperti ini terjadi pada saat kita bekerja dalam 1 file dengan rekan-rekan kita, dan rekan kita tidak sengaja menghapus kodingan itu. Maka untuk menyelesaikan itu sebenarnya mudah saja, karena github itu menyediakan history dari setiap file yang sudah pernah kita commit sebelumnya. Atau dengan katalain apabila kita ingin kembali kepada kodingan awal, itupun sangat bisa. Maka untuk melakukan itu, ikutilah langkah-langkah berikut ini:

  1. Buka kembali smartgitnya dengan menggunakan perintah:
    $ smartgit

  2. Lalu setelah aplikasi smartgitnya terbuka, klik kanan workspace yang sedang kita kerjakan dan pilih menu log atau ctrl+L seperti gambar berikut ini:
  3. Lalu setelah itu akan muncul log seperti berikut ini:

    Lalu dari tampilan di log itu, pilihlah jenis commit yang telah kita kerjakan/ atau file yang kehilangan codingannya, dan lihatlah 2 kolom dipaling bawah, lalu cocokkanlah dengan codingan kita mana yang hilang kodingannya. Apabila sudah, tinggal di copy paste lagi ke file kerjaan kita dan push lagi dah…
    Nah itukan apabila menggunakan smartgit? Lalu bagaimana apabila menggunakan situs githubnya langsung? Tutornya menyusul ya…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s