Penjelasan tentang Github dan Bitbucket

Wahyu Raja Butar-Butar 1 17:22

Punya anggota projek website lebih dari dua orang? Gunakan GIT

Ketika mengetahui cara kerja GIT, aku terinspirasi untuk membagikan tulisan yang sederhana ini. Meski aku belum mempelajari tentang GIT yang lebih mendalam, tapi setidaknya aku ingin menjelaskan tools yang sangat berguna ini tersenyum lebar.
Tulisan ini ditujukan bagi teman-teman binusian juga terutama yang sering mengikuti kompetisi web programming, mengerjakan projek web developer, ataupun yang berhubungan dengan website. GIT sangat berguna apabila anggota tim lebih dari 1 orang yang mengerjakan projek bersamaan. Karena aku baru mengetahui GIT, terutama dapat digunakan untuk bahasa PHP, maka aku hanya membatasi tulisan ini khusus untuk pengerjaan projek memakai PHP saja tersenyum lebar. Jadi kalau selain PHP, dapat dicari tutorial GIT di google yah senang.
Ohya, teori GIT untuk lebih lanjutan dapat dicari sendiri deh tersenyum lebar. Bukannya gak mau nulis di sini, soalnya kepanjangan, jadinya aku langsung ke praktiknya saja (kan rata-rata binusian pengen praktiknya langsung). Toh kalau penasaran pasti mempelajari teorinya lebih mendalam. tersenyum lebar
GIT itu sendiri dapat membantu kita merevisikan, mengupdate, mengubah, yah intinya mengatur modul/ file php yang sedang kita modifikasi agar tidak bentrok dengan editan dari teman lainnya. GIT biasa juga dikenal dengan istilah Version Control. keren Sebenarnya banyak version control yang beredar, ada SVN, GIT, dsb.
Menurut situs http://git-scm.com/book/id/ch1-1.html , saya rangkum, version control itu  sebuah sistem yang mencatat setiap perubahan terhadap sebuah berkas. Jadi apabila kita terdapat kesalahan mengedit berkas, maka kita bisa kembali ke titik dimana kita anggap benar. berpikir
Sekedar informasi saja, bisa GIT merupakan nilai tambah lho, kebanyakan jika bekerja diperusahaan yang bergerak dibidang IT khususnya startups yang sedang berkembang ataupun sudah berkembang, mereka kebanyakan menggunakan GIT karena memang developer, designer dan sebagainya cukup banyak dan aplikasi cukup kompleks jika dilakukan sinkronisasi manual.
Biar mudah, contohnya saja, Budi dan Anita akan mengikuti lomba website di Binus. Mereka akan membuat aplikasi sederhana semisal guest book menggunakan PHP. Nah Budi dan Anita bingung mau mulai dari mana. Sebagai contoh masalah klasik adalah Budi yang mengerjakan tampilannya saja dan Anita mengerjakan sisi server dan koneksi database.berpikir
Untuk menggabungkan kedua pekerjaan mereka, mereka harus bertemu misal seminggu 2x agar pekerjaan mereka selalu up-to-date. Belum lagi misal pekerjaan Budi sudah selesai, dia akan membantu si Anita dalam hal pengerjaan form di guestbooknya. Nah pada saat Budi membantu, tentunya bukan tidak mungkin Anita juga sedang melakukan modifikasi pada file yang sama.
Mau tidak mau mereka harus memberi scope komentar seperti
/* ini kerjaan Budi */ atau
/* ini kerjaan Anita */ kutu buku
Hal ini tentunya tidak efisien karena mereka harus sering bertemu untuk menanyakan kegunaan ataupun penambahan fungsi lain agar tidak mengganggu satu sama lain.
Hal yang lebih kompleks lagi kalau sudah mendekat deadline, pasti 2 malam sebelum deadline, mereka bekerja lebih keras di kos yang sama sampai subuh tertawa wkwk cape tau (sering merasain). Nah di sini kegunaan GIT.
sumber http://git-scm.com/book/id/
Gambar di atas misal kerjaan si Budi, setiap version adalah setiap commit-an dia, awal mula yang dia commit dapat berupa 3 file atau 3 baris kodingan atau 3 modul, banyak macam, pokoknya 3 hal berbeda. Kemudian malamnya dia commit lagi ternyata A ada revisi, dan modul B dia hapus dan C ternyata revisi jadi C1. Dan seterusnya…
sumber http://git-scm.com/book/id/
GIT cukup pintar untuk menggabungkan pekerjaan tim kita. Istilah/ perintah yang biasa aku pakai di GIT yaitu :
- GIT repository : tempat penyimpanan file aplikasi kita di server yang memfasilitasi tools GIT, yah bahasa kasarnya di awan lah (cloud) tertawa
- GIT add : menambah file baru
- GIT commit : digunakan untuk membuat suatu point dimana suatu saat kalau ada kesalahan kodingan di masa depan, kita bisa melihat kembali point ini (beranggapan di point ini tidak terdapat bug)
- GIT pull : dilakukan setelah commit pekerjaan kita. Setelah meng-commit, maka pull akan menarik semua berkas/ file yang sudah final yang terletak di GIT repository ke tempat kita kerja (komputer lokal). Biasanya yang di GIT repo sudah dijamin ke-up-todate-an nya. Ketika sudah dikomputer lokal, disinilah file yang akan kita presentasikan jika sudah selesai ataupun masuki ke shared hostingan.
- GIT push : dilakukan untuk ‘mendorong’ apa yang sudah kita buat di lokal, ke server GIT repository
Sebenarnya masih banyak perintah-perintah GIT, tapi aku rasa perintah di atas sudah sangat membantu teman-teman mengerjakan projek kompetisi yang semua anggotanya turut serta membantu kodingan, jadi lebih mudah mengontrolnya dengan GIT.
Sebagai informasi, dari sekian shared hosting yang pernah aku sewa, belum ada (mungkin) yang menyediakan fasilitas GIT. Kecuali teman2 punya VPS ataupun dedicated server sendiri. Tentunya bisa menginstal GIT.
Hal yang perlu diingat dalam GIT yaitu filosofi GIT :
  • Commit early, commit often (sering-sering commit aja supaya kerjaan kita selalu dianggap paling baru, jika kita jarang commit, lalu teman sering commit, maka file kita ketika melakukan pull dari repo dianggap konflik karena sudah basi)
  • One commit represents one idea or one change.
  • Makes it easy to read patches
  • Easy to revert unwanted changes later
  • Your working directory, index, and local repo are your scratch pads.
Tools yang dipakai di GIT :
- untuk saat ini aku memakai GIT, dapat mendownload di sini http://code.google.com/p/tortoisegit/downloads/list (untuk Tortoise GIT) atau aplikasi native GIT di https://help.github.com/articles/set-up-git#platform-windows cari versi windows yang sesuai deh :) .
Aku pribadi si memakai tortoise GIT karena pada saat aku mencoba dulu, versi native GIT untuk windows belum keluar (jadi sekarang masih baru yang native).
Langsung install saja. Oh ya GIT juga ada kok di Linux dan Mac. Jadi jangan takut apabila teman lain tidak menggunakan windows. Tapi dalam tulisan ini aku fokus ke windows saja.
- GIT repository, cukup banyak di google tapi masing2 repo memiliki kelebihan dan kekurangan. Repository yang terkenal adalah https://github.com/ selain itu juga ada di https://bitbucket.org/. Bedanya adalah
GithubBitbucket
Anggota yang terlibat banyakCuma terbatas 5 orang dalam 1 projek
Default projek : PUBLICbisa PRIVATE
Nah jadi di github bisa digunakan untuk tim besar, sedangkan bitbucket hanya 5 orang saja. Di github, semua kodingan yang kita simpan dapat diakses secara publik, sedangkan bitbucket bisa kita sembunyikan. Jika mau private di github, maka harus membayar sejumlah dolar gitu. Jadi terserah pada pilihan kamu menjulurkan lidah
Untuk contoh ini aku memakai Github saja deh. Aku akan membuat file php sederhana.

Daftarkan account di Github

mendaftar di git
mendaftar di git
creat repo
Setelah login maka dikanan atas ada Create New Repo
buat repositori kamu
buat repositori kamu, untuk initialize abaikan saja
Setelah membuat repository, silakan melakukan global setup dari link yang tersedia.

Instalasi di komputer lokal

Jalankan git bash dan ikuti petunjuk pada layar (Next Steps)
instruksi git hub
instruksi git hub
Karena saya menggunakan xampp, maka saya buat foldernya disini : D:\xampp\htdocs\projek-guestbook-binus
instalasi awal github
instalasi awal github
Terlihat folder projek-guestbook-binus berada di master (GIT repo)
sukses masuk di GIT repository
sukses masuk di GIT repository

Menambahkan file PHP di komputer lokal

Biarkan saja folder .git itu karena folder itu menyimpan semua perubahan yang telah kamu lakukan. Sekaligus menyimpan file untuk berkomunikasi dengan GIT repository. Aku akan membuat file form_awal.php
Setelah dibuat, klik kanan ada TortoiseGit dan pilih Add. Selain cara klik kanan, bisa juga menggunakan command GIT bash, caranya adalah :
git add pada git bash
git add pada git bash
Setelah di Add, maka akan muncul icon kecil + pada file form_awal.php, disini penambahan file baru pada direktori kerja kamu. Belum disimpan pada repo.
icon plus pada tambah file GIT
icon plus pada tambah file GIT
Kamu masih dapat mengedit file form_awal.php, 1 karakter pun ditambahkan maka form_awal sudah dianggap ada perubahan, icon yang muncul menjadi merah
icon merah
icon merah tanda ada perubahan
Selain icon checklist hijau, icon apapun baik plus biru ataupun merah gitu berarti kita telah melakukan perubahan dan HARUS DILAKUKAN COMMIT
terdapat perubahan pada komputer lokal
terdapat perubahan pada komputer lokal
jika kita sudah menganggap benar kodingan kita dan tidak ada BUG, maka kita dapat meng-commit di folder tersebut (disarankan commit di folder root, semisal projek-guestbook-binus) agar semua isinya yang berubah juga ter-commit.
Commit dapat dilakukan dengan 2 cara :
Mengklik kanan sembarang tempat di dalam folder projek-guestbook-binus ataupun tepat pada folder projek-guestbook-binus, kemudian pilih Git Commit->master
git commit ke master
git commit ke master
git commit
git commit
Pada window git commit, kamu dapat menuliskan surat cinta kamu jatuh cinta , kan enak tuh kalau tim besar, jadi nya surat cintanya benar kebaca sama programmer lain (cewe) (eeh becanda tertawa kok) . Message itu cuma berisi deskripsi apa yang telah kamu ubah, terserah mau diisi apa. Kemudian dikolom changes made itu adalah list file-file yang telah kamu ubah. Karena disini aku cuma mengubah 1 file maka hanya muncul 1 file saja.
Selain menggunakan klik kanan, kamu juga bisa menggunakan GIT Bash. langsung saja ketik git commit form_awal.php tapi kalau banyak file yang dicommit maka kamu cukup mengetik git commit -a
Setelah itu dia akan membuka layar vim. Vim sejenis editor di linux-unix. Kamu dapat menginput pesan kamu dengan mengetik -i kemudian ketik saja misal “Penambahan baris echo …”. Kemudian escape dan keluar (ketik :wq) . Tapi bagi yang tidak terbiasa menggunakan console linux, disarankan menggunakan klik kanan pada windows saja
git commit melalui git bash
git commit melalui git bash
Setelah meng-commit, JANGAN LUPA harus melakukan GIT PULL. Gunanya untuk mengecek dari server REPO dengan direktori lokal kita. Apabila ada perubahan di file yang sama, dia selalu mengupdate yang paling baru. Jadi intinya membuat direktori lokal kita menjadi up-to-date seperti di server.
Ada 2 cara pada klik kanan, bisa mengklik kanan lalu klik Git Pull, selanjutnya OK saja di window git pullnya. Ataupun menggunakan Git Sync.
git sync
window untuk git sync
Aku pribadi sih lebih suka git sync peluk erat karena bisa melihat perubahan apa saja yang dilakukan anggota tim lain. Misal disini aku melihat perubahan yang aku lakukan. Pada jam 22:10:04 aku melakukan git commit melalui klik kanan. Lalu pukul 22:11:56 aku melakukan penambahan melalui git bash. Yang icon plus biru itu aku menambahkan file baru (lupa menuliskan pesan) jadinya dikasih tanda seru.
Kamu klik aja tombol git pull
git pull sukses
git pull sukses
Setelah git pull sukses, kalau kodingan di lokal kamu uptodate dg server maka ada notifikasi, kalau gak, kodingan lokal kamu akan didownload file-file terbaru yang pernah diubah sama teman kamu. Git pull juga dapat dilakukan dari git bash dengan perintah seperti tercantum di window git sync, yaitu : git.exe pull -v –progress  ”origin” . Setelah semua berjalan lancar, silakan melakukan push dengan mengklik tombol Push. Hal yang sama juga dapat dilakukan melalui git bash.
git push berhasil
git push berhasil maka perintah terakhir tertulis updating local... dsb
Gunanya GIT PUSH ini, supaya form_awal.php tersebut tersimpan di server GIT Repository. Jadi dengan begitu misal Budi menambahkan form_awal.php, maka ketika Anita GIT pull maka Anita juga akan punya file form_awal.php yang Budi buat.
Sekarang kita cek folder root yaitu projek-guestbook-binus sudah tidak ada perubahan, alias uptodate dengan server. Cirinya adalah tanda centang hijau
folder sudah uptodate
folder sudah uptodate
Kita dapat mengecek GIT repository, misal dalam kasus ini repository aku berada di https://github.com/jshot/projek-guestbook-binus jadi sudah masuk
git repo sudah sukses masuk
git repo sudah sukses masuk
Kamu sekarang tidak perlu cemas lagi, karena apa yang telah kamu ubah di lokal komputer , nanti akan selalu uptodate dengan teman kamu secara otomatis (setelah temanmu melakukan git pull)
Kamu bisa melihat banyaknya commitan yang dilakukan pada menu Graphs di GIT repository, (paling kanan). Sebenarnya ada grafiknya (kalau sudah banyak) tapi karena masih baru, jadi grafiknya belum kebentuk.
Sekian dulu tutorial sederhana bagi teman2 yang sedang/ akan berkompetisi website secara tim tapi bingung untuk konfigurasi file yang ada. Bagi teman2 yang sudah mengetahui GIT atau tools subversion lainnya dapat memberi kontribusi ataupun yang belum tau GIT tapi ingin mencoba, sangat disarankan hebat. Gak rugi mempelajari GIT karena jika bekerja dengan perusahaan yang banyak melakukan versioning terhadap crew2nya, maka GIT salah satu tools yang bagus dipelajari. Disamping itu kita juga dapat melihat cuma LOC (line of coding) kita selama mengerjakan suatu projek (melalui Githubs)

Source : http://blog.jflinq.com/2012/06/24/punya-anggota-projek-website-lebih-dari-dua-orang-gunakan-git/

Related Posts

Tutorial 4764615336276806117
Comments
1 Comments
Facebook Comments by Media Blogger

1 comments

Post a Comment

Search

Google+ Followers

Popular Posts

Translate