Qt Creator dan Git


Bismillahirrahmanirrahim.

qt-creator-logoSemua orang kini menggunakan Git dan Github. Apa itu? Git adalah program manajemen versi untuk kode sumber. Siapa saja yang hidupnya dekat dengan pemrograman akan mengenal sesuatu yang namanya SCM (Source Code Management) dan VCS (Version Control System). Git memiliki dua sifat ini, yakni sebagai SCM dan VCS sekaligus. Git sangatlah populer saat ini di kalangan orang yang dekat dengan pemrograman. Ia adalah pesaing baru untuk VCS-VCS sebelumnya semisal SVN, CVS, Mercurial, Bazaar, dan lain-lain. Ia menggeser semua CVS era lama dengan fitur-fiturnya. Saya menulis ini karena sangat tertarik dan bersemangat dengan Git. Saya baca buku-buku tentang Git dan mendaftar di Github. Memang masih bingung tetapi sangat menyenangkan! Dalam tulisan ini, saya ingin mencatat apa yang saya temukan dalam Qt Creator yang sudah dihidupkan fitur git-nya.

Apa itu Git dan Github?

Git adalah SCM dan VCS yang sifatnya terdistribusi dan fitur utamanya adalah kecepatan. Kalau kita bingung dengan istilah-istilah ini, bayangkanlah semua aplikasi yang pernah kita gunakan. Bagaimana bisa developer aplikasi merilis versi 1.2.3 setelah 1.2.2? Bagaimana mereka bisa membuat patch? Bagaimana mereka membuka development aplikasi mereka kepada semua orang dan tidak kacau hasil aplikasinya (seperti misalnya proyek KDE)? Jawabannya adalah dengan menggunakan Version Control System (VCS). VCS inilah yang bertanggung jawab mengurus versi aplikasi yang dibuat dan menyimpan setiap versi pada tempatnya. Dengan VCS ini, kita bisa melacak perubahan apa yang terjadi pada kode sumber, membuat patch (dengan diff), membandingkan versi baru dengan sebelumnya, menyatukan perubahan yang dibuat oleh banyak orang, dan lain-lain. Pokoknya Source Code Management. Git itu VCS, sedangkan Github itu Git di server cloud sana yang siap menampung kode kita.

Cara Kerja Git

Bekerja dengan Git itu hanyalah akan berputar pada hal-hal ini:

  1. commit,
  2. push,
  3. pull,
  4. diff,
  5. patch,
  6. stash,
  7. branch, dan
  8. merge.

Saya tidak jelaskan satu per satu artinya karena saya belum paham. Saya cuma punya penjelasan yang sangat sederhana berdasar percobaan saya sendiri. Lebih enak model cerita begini saja, ya?

  1. Saya instal git di Ubuntu saya terlebih dahulu.
  2. Saya buat sebuah proyek GUI baru di Qt Creator dengan memilih Git sebagai VCS untuk proyek ini. qt-git3
  3. Saya dapat lima berkas dasar yang dibuat otomatis oleh Qt Creator, seperti biasa. Saya biarkan isinya default tanpa diubah.
  4. Saya melakukan commit pertama untuk merekam versi awal dari proyek saya. Tekan Alt+G (jangan lepas Alt) lalu Alt+C. Saya isi keterangan bahwa ini versi awal lalu OK. Inilah commit. Commit ini sama layaknya Ctrl+S setiap kita mengubah dokumen Writer kita. a-commit-pertama
  5. Saya melakukan perubahan pada berkas mainwindow.cpp dengan menambahkan satu baris komentar saja. Lalu Ctrl+S (wajib).
  6. Setelah itu, saya coba diff yakni membuat patch. Apa itu? Ya inilah keajaiban VCS yakni mengetahui perubahan apa yang telah dilakukan terhadap proyek. Sekecil apa pun, perubahan pasti akan terlihat. Tanda + ini artinya baris yang ditambahkan. Diff melakukan delta yakni selisih antara proyek yang sudah diubah dengan proyek sebelumnya, sama seperti rumus matematika selisih = nilaibaru – nilaiawal. b-diff-pertamaku
  7. Selain diff bisa melacak perubahan dalam 1 berkas, ia juga bisa melacak perubahan untuk seluruh berkas di dalam proyek kita. Ini bakalan berguna ketika kegiatan pemrograman mulai mempunyai banyak berkas. Cara saya adalah menambahkan sebaris komentar di setiap berkas teks dalam proyek lalu saya simpan semuanya dan saya lakukan Diff Project (Alt+G, jangan lepas Alt, Alt+Shift+D). Hasilnya? Tanda –  berarti baris yang dihapus.c-diff-banyak-berkas-sekaligus
  8. Branch dilakukan untuk menyalin proyek jadi sebuah proyek baru (branch baru/cabang baru) dan untuk eksperimen di branch baru itu tanpa mengganggu sedikit pun branch asli/branch master. Jadi branch itu ada master (proyek pertama dan utama kita) dan branch selain master. Branch selain master bisa dibuat untuk menambah fitur baru, membersihkan bug, dan lain-lain lalu kemudian setelah beres bisa disatukan lagi perubahannya dengan master branch. Ini jawabannya mengapa developer bisa menambahkan fitur baru dan menyediakan update aplikasi buat kita. Kita mengaktifkan branch yang mau diubah isinya dengan perintah Checkout lalu kita ubah dan branch lain yang tidak di-checkout maka tidak akan terpengaruh. pindah-branch-ke-master
  9. Diff antar-branch. Apa saja perubahan yang dilakukan antara master branch dengan branch baru? diff-antar-branch
  10. Merge branch, gunanya untuk menggabungkan perubahan dalam satu branch ke dalam branch yang lain. Dari sini tampak jelas kegunaan VCS yakni memungkinkan untuk membuat salinan proyek lalu kita berkreasi dengan salinan itu, kemudian jika kreasi sukses maka perubahannya dikirim ke proyek aslinya sehingga proyek asli menjadi versi baru yang memiliki fitur baru pula. merge-branch
  11. Bonus: GUI untuk mengelola Git kita: gitk dan QGitgitk-setelah-semua-ini-terjadi qgit-setelah-semua-ini-terjadi

Apa Hubungan Qt Creator dan Git?

Qt Creator bisa menggunakan Git untuk mengelola kode sumber kita. Lihat gambar ini.

qt-git

Pada gambar di atas, menu Git hidup semuanya. Kita bisa lihat perintah-perintah Git macam Commit, Diff, Patch, dan lain-lain.

qt-git1

Pengaturan version control dalam Qt Creator.

qt-git2

Qt Creator mendukung banyak Version Control System di antaranya Bazaar, Mercurial, Subversion, Perforce, dan CVS. Hanya saja, semuanya tidak saya instal di Ubuntu saya sehingga warnanya merah di pengaturan. Kecuali Git saja karena sudah saya instal.

Demikian dulu hasil percobaan saya. Semoga ini bermanfaat.

Referensi

  1. http://qt-project.org/doc/qtcreator-2.7/creator-version-control.html
  2. http://ebb.org/bkuhn/blog/2011/01/23/git-shared-repository-tutorial.html
  3. http://en.wikipedia.org/wiki/File:Git-logo.svg
  4. Google: tutorial qt creator git merge branch – Google Search

8 thoughts on “Qt Creator dan Git

  1. Garry Prambudi

    Assalamu’alaikum pak, saya mau tanya tentang cara compile qt project ke exe yang bisa di akses pada komputer lain tanpa file dll. Jadi seperti aplikasi portable gitu.
    Saya sudah coba pakai wingw32 dan win32-g++ tapi gagal mulu di tengah jalan, mungkin saya kebingungan. Saya mengikuti tutorial ini http://www.qtcentre.org/threads/43950-Problems-when-running-quot-configure-static-quot-for-4.7.3?p=200352#post200352 menggunakan win32-g++ tapi gagal pada bagian configure, tidak sesuai yang dijelaskan disana. Bagaimana ya pak solusinya? Mungkin pak Ade berkenan membuatkan artikel penjelasan tentang compile qt project menjadi exe portable. Mohon bantuannya pak…
    Terimakasih banyak sebelumnya, atas artikel-artikel yang sudah ada. Sangat bermanfaat sekali :)

    Balas
      1. Ade Malsasa Akbar Penulis Tulisan

        Wa’alaikumussalam, Kang. Itu namanya static linking yakni memasukkan semua .dll langsung ke dalam EXE sehingga komputer target tidak memerlukan instalasi .dll terlebih dahulu. Silakan akang googling soal qt static linking windows.

  2. Ping balik: Pemrograman Qt 9 – QProcess dan Menjalankan Perintah Linux | Ade Malsasa Akbar

  3. arhsa

    Mantap, Kang.
    Lagi-lagi, saya sudah hampir satu bulan instal Github, karena berkunjung ke forum wps-comunity.org. Dan lagi-lagi, karena belum faham, hanya d instal saja lalu dibiarkan.

    Tulisan yang mencerahkan. Menunggu versi .PDF full.

    Balas

Dilarang menggunakan emotikon

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s