[Sharing] Menggunakan Teknologi Git untuk Mengelola Proyek dengan banyak orang

Aisy Muhammad Rozsidhy
Aisy Rozsidhy
Published in
5 min readAug 20, 2017

Pengalaman adalah guru yang luar biasa, dari pengalaman tersebut bisa mengkoreksi diri kita dan dapat belajar bahwa nanti di masa yang akan tidak mengulangi kesalahan yang sama di waktu sekarang terutama di masalah proyek. Kebanyakan mengandle proyek di bagian pemograman pada waktu jaman saya kuliah itu sulit, cara saya waktu itu membagi tugas-tugas dengan sesuai kemampuan mereka, cara ini sangat efektif dan berlangsung dengan baik selama saya mengerjakan projek bersama rekan-rekan saya, namun tetap saja ada kendala yang selalu menjadi masalah yaitu di managemen file proyek yang kacau.

Tumpang Tindih Script Code

Karena project itu dikerjakan banyak orang maka sudah sewajarnya kita membutuhkan management pembagian tugas, namun di sebuah project juga pasti sesorang akan menyentuh dengan code yang kita buat, dan karena hal tersebut kita harus melakukan timpa tindih source code masing-masing sehingga akibatnya sangat fatal, kita saling mengunggu pekerjaan bagian ini selesai terlebih dahulu lalu mengerjakan bagian kita, hal ini sangat memperlambat kinerja kita.

Fitur yang seharusnya ini bisa selesai dengan cepat jadi tertunda karena harus verifikasi code di beberapa bagian. Sempat juga meletakkan project ini di cloud agar bisa melihat history perubahan, namun sayang ini masih tetap tidak efektif karena waktu habis di pengecekan code seperti yang saya sebutkan sebelumnya.

Menimpa source code dengan file dari teman lalu code yang kita buat hilang? bikin pusing saja

Karena permasalahan tersebut, kadang saya sempat berpikir :

“ada tidak teknologi yang bisa mengelola coding dari rekan kerja tanpa mengganggu kerja yang lain?

dan kalau bisa juga ada di cloud karena kita bisa mendownload langsung code yang di buat oleh rekan-rekan tanpa harus menunggu memindahkan file melalui perantara email atau flashdisk”

Perkenalan Git

Setelah menelusuri kemana-mana akhirnya dikenalkan oleh dosen saya yaitu teknologi Git. ini adalah jawaban dan solusi dari pertanyaan dan apa yang saya inginkan selama ini, di kenalkan juga sekitar semester 5 waktu kuliah, namun sayang tidak saya gunakan secara penuh saat itu, dan baru menggunakan secara penuh saat proyek besar setelah saya lulus kuliah.

Git adalah teknologi version control system yang digunakan untuk mengelola dan mengembangkan proyek secara bersama-sama, dengan menggunakan git ini pengembang aplikasi dapat mengetahui perubahan source code tanpa bentrokan dari rekan-rekan kerja.

Bagaimana bisa seperti itu?

Cara kerja git ini memanfaatkan repositori online dan offline, contohnya kita punya folder/directory project di lokal (offline), folder tersebut bisa kita upload ke repositori online yang sudah disediakan banyak pihak, setelah di upload rekan-rekan bisa meng-clone(istilahnya sih copas) lalu setelah di clone kita, rekan-rekan yang lain bisa mengubah isi file pada project tersebut secara lokal. Jika rekan-rekan ingin menambah atau mengurangi code yang ada pada file, mereka harus upload ke repository terlebih dahulu, kemudian rekan-rekan yang lain nanti jika ingin mendapatkan update harus mendownload lagi repositorinya, namun file yang di download ini sesuai dengan perubahan yang dilakukan oleh kita.

Kurang lebih penjelasan struktur Git seperti pada gambar tersebut

Nah didalam git terdapat branch, yang dimana fungsi branch ini adalah meletakkan workspace atau istilahnya tempat kerja khusus. Biasanya saya membuat branch ini berdasarkan masing-masing orang yang terlibat project, jika ada 5 orang yang terlibat project tersebut, maka akan ada 5 branch pada project tersebut.

Tujuannya? agar setiap orang bisa memiliki versi sendiri dalam bekerja dan bisa fokus ke fitur yang sedang dia kerjakan, ada juga yang menyediakan branch berdasarkan versi rilis aplikasi juga, jadi semua tergantung bagaimana teman-teman mengatur git itu sendiri, karena saya biasanya memanfaatkan kedua cara tersebut.

Jadi Git ini sangat cocok untuk keperluan editing dan pengembangan fitur lain secara bersama. Sehingga dalam pengembangan proyek rekan-rekan bisa melakukan tumpang tindih code, riset dan mengembangkan fitur untuk kedepannya tanpa gangguan rekan-rekan kerja yang lain bukan?

Selain fitur branch yang paling saya sukai adalah penggunaan repositori (awal kenal saya menyebut ini teknologi cloud :v) sebagai media penyimpanan, jadi tidak perlu khawatir apabila proyek tersebut hilang(kecuali kalau cloud tersebut tidak sengaja terhapus).

Ada dua pilihan dalam menggunakan git, yaitu menggunakan aplikasi berbasis interface(GUI) atau menggunakan git bash(versi Windows) maupun bash shell di UNIX. Saya juga kenal menggunakan git saat menggunakan aplikasi berbasis Desktop, namun saya malah bingung dengan fitur yang aplikasi tersebut, sehingga pilihan saya jatuh ke pilihan kedua yaitu bash, selain ringan karena mengelola melalui bash atau terminal. Alasan saya sederhana yaitu performa saat mengupload file, selain itu saya juga ingin membiasakan diri untuk menggunakan bash untuk keperluan sehari-hari saya.

ada beberapa perintah dasar yang biasanya digunakan, perintah dimulai dari kata “git” :

  • git init
    untuk membuat repositori lokal di dalam folder project.
  • git clone
    meng-clone atau meng-copy projek dari repositori
  • git status
    untuk menampilkan status pada repositori lokal.
  • git add
    menambah file baru pada repositori yang dipilih.
  • git commit
    menyimpan perubahan, dan setiap perubahan ini wajib memberikan keterangan pada setiap perubahan.
  • git push
    upload/mengirimkan perubahan file setelah di commit ke repositori.
  • git pull
    mendownload/mengambil file yang sudah di ubah dan di upload.
  • git branch
    melihat branch yang tersedia pada repositori.
  • git merge
    menggabungkan semua branch yang ada pada repositori.

Layanan Git

Ada 3 layanan git terkenal yang bisa kita gunakan, anda bisa memilih yaitu :

  1. Github, Layanan ini menjadi favorit saya karena ada history dan bisa melihat perubahan apa saja yg ada di dalam code, selain itu juga bisa melihat kontribusi dari siapa saja yang menulis kode(sekalian juga bisa mengawasi rekan-rekan juga), sayangnya github untuk private project harus membayar sisanya cukup bagus, harga untuk langganan yang ditawarkan cukup murah, anda bisa memulai mendaftar dengan disini.
  2. Gitlab, Layanan ini gratis bisa di private juga, kebanyakan programmer menggunakan ini sebagai git mereka untuk mengelola proyek, kelebihan yang saya lihat adalah kita bisa menggunakan private project tanpa membayar, harga untuk langganan yang ditawarkan cukup murah, anda bisa memulai mendaftar dengan disini
  3. Bitbucket, Layanan ini gratis dan bisa di private juga harga yang di tawarkan juga murah hampir sama dengan gitlab, anda bisa memulai mendaftar dengan disini.

Kalau memilih layanan saya menggunakan github, dan ada rencana mau pindah ke gitlab dalam waktu dekat ini(semoga tidak jadi wacana saja). Karena saya butuh repositori yang bisa di privasi untuk mencoba-coba, jadi tidak masalah bagi saya karena teknologi git secara penggunaan mereka hampir sama, ditambah dari kelebihan dan kekurangan layanan juga sudah saya sebutkan diatas.

Untuk Penggunaan git secara real nanti akan saya bahas di tulisan ini.

--

--