Git Flow dalam Pembuatan Aplikasi PsychoTip

Faraya Agatha
PsychoTeam
Published in
3 min readMar 20, 2019

Apakah kalian sering mendengar istilah version control? Apa itu version control? Version control adalah sebuah sistem yang mencatat setiap perubahan terhadap sebuah file atau kumpulan file sehingga pada suatu saat anda dapat kembali kepada salah satu versi dari file tersebut. Version control yang digunakan dalam perkuliahan PPL kami adalah Git.

Mengenal Git

Git adalah version control yang memperlakukan datanya sebagai sebuah kumpulan snapshot dari sebuah miniatur sistem file. Setiap kali kita melakukan commit atau melakukan perubahan pada proyek, pada dasarnya Git merekam gambaran keadaan files/berkas-berkas kita pada saat itu dan menyimpan referensi untuk gambaran tersebut.

Gambaran Git menyimpan data dari suatu proyek setiap saat

Git memiliki 3 keadaan utama, dimana file dapat berada pada keadaan: committed, modified dan staged. Committed berarti data telah tersimpan secara aman pada basis data lokal. Modified berarti kita telah melakukan perubahan pada berkas namun belum melakukan commit pada basis data. Staged berarti kita anda telah menandai file yang telah diubah pada versi yang sedang berlangsung untuk kemudian dilakukan commit.

Git memungkinkan setiap developer yang bekerja pada suatu proyek untuk memiliki salinan code dengan melakukan cloning dari repositori utama dan melakukan branching agar pengembangan proyek bisa dilakukan secara paralel dan perubahan code bisa terkontrol dengan baik.

Git Flow Aplikasi PsychoTip

Aplikasi PsychoTip menggunakan git flow yang diterapkan dalam perkuliahan PPL. Git flow ini dirancang dengan memperhatikan standar industri dan menyesuaikan dengan lingkungan perkuliahan.

git flow yang diterapkan dalam perkuliahan PPL

Cabang-cabang yang terdapat pada git flow perkuliahan PPL adalah:

  1. Master : cabang utama terkait production yang siap dipakai oleh user. Cabang ini berstatus protected. Kami hanya bisa melakukan merge ke cabang ini jika sudah mendapat persetujuan dari dosen dan product owner aplikasi PsychoTip.
  2. Hotfix : Percabangan dari master yang digunakan untuk memperbaiki bug yang ditemukan di cabang master.
  3. Staging : Cabang utama pengembangan produk yang berisi semua hasil pekerjaan anggota tim yang kemudian digunakan untuk sprint review dengan product owner. Cabang ini yang nantinya akan di merge ke cabang master jika sudah disetujui dosen dan product owner.
  4. Coldfix : Cabang yang digunakan untuk melakukan rollback ketika product owner menolak salah satu atau semua user story saat sprint review.
  5. User Story : Cabang untuk implementasi sebuah user story. Pada cabang ini lah kami mengerjakan pengembangan produk secara paralel.

Perintah pada Git

Beberapa perintah git yang bisa dilakukan, yaitu:

  1. git clone : membuat salinan dari remote repository di local repository.
  2. git remote : menghubungkan local repository dengan remote repository.
  3. git pull : mengambil perubahan yang terjadi pada remote repository ke local repository.
  4. git push : menyimpan perubahan yang terjadi pada local repository ke remote repository.
  5. git checkout : perintah untuk berpindah ke cabang lain atau membuat cabang baru di local repository.
  6. git branch : mengetahui cabang apa saja yang ada di local repository.
  7. git merge : menggabungkan perubahan yang ada di dua cabang.
  8. git stash : menghilangkan perubahan code untuk sementara dan memunculkannya kembali ketika sudah melakukan perubahan lain.
  9. git revert : mengembalikan kondisi code ke commit sebelumnya.
  10. git rebase : memodifikasi riwayat commit yang sudah ada.

Manfaat Git

Dengan menggunakan git, proses pengembangan aplikasi menjadi lebih terkontrol dan rapi. Kami bisa mengerjakan beberapa fitur di waktu yang sama sehingga mempersingkat waktu pengerjaan aplikasi. Kami juga bisa melihat perubahan-perubahan code yang dilakukan anggota tim sehingga dapat memonitor perkembangan aplikasi.

Referensi:

--

--