“Boom boom boom (Gotta GIT that)”

Anisha Inas
PPL cewe semua!
Published in
3 min readApr 3, 2019

4W1H Git

What is Git?

Git adalah sistem version control yang digunakan untuk mencatat history perubahan kode. Dalam pengembangan software, anggota tim bekerja secara paralel, Git akan mencatat apa saja perubahan yang terjadi sehingga anggota tim dapat bekerja secara teratur. Terdapat layanan repository yang disediakan seperti GitLab yang berguna untuk menyimpan seluruh kode dan catatan perubahannya.

Who use Git?

Semua developer seharusnya menggunakan git.

Why use Git?

Karena bekerja secara paralel, version control system seperti Git dibutuhkan untuk menghindari terjadinya konflik. Git akan memberi tahu developer jika terdapat konflik dan akan meminta developer untuk menyelesaikan konflik tersebut. Git memungkinkan kita untuk kembali ke versi kode yang lebih lama jika terdapat masalah pada kode yang telah dimodifikasi.

Where can you use Git?

On every machine with git installed! Cek apakah git sudah terinstall dengan command git --version. Buat repository lokal dengan cara menginisialisasi suatu folder menjadi git repository dengan command git init.

How to use Git?

Berikut ini adalah beberapa command basic yang harus diketahui:

  • git config: digunakan untuk mengatur nama dan email yang digunakan saat melakukan commit
  • git init: untuk inisialisasi repositori lokal
  • git clone [url]: untuk mendownload kode beserta semua catatan history dari suatu repository di server
  • git add [file]: untuk menambahkan file yang dibuat ke staging area sebelum dapat dicommit
  • git commit: untuk melakukan commit pada perubahan di staging area. Untuk menambahkan pesan commit tanpa membuka text editor dapat digunakan command git commit -m “[pesan]”.
  • git reset [file]: mengeluarkan file dari tahap staging namunn tetap menjaga perubahan yang telah dilakukan
  • git status: mendaftarkan file apa saja yang belum dicommit dan belum masuk staging
  • git rm [file]: menghapus file dari directory
  • git log: mendaftarkan history commit yang sudah dilakukan
  • git branch: Untuk melihat branch apa saja yang ada. Hapus branch dengan command git branch -d “[nama_file]”
  • git branch -b “[nama_branch]”: membuat branch baru.
  • git merge “[nama_branch]”: menggabungkan branch nama_branch dengan branch saat ini
  • git push [remote_name] [branch_name]: menambahkan seluruh file yang sudah kita commit ke repository di server
  • git pull: meng-fetch perubahan yang ada di server ke lokal
  • git stash: menyimpan semua tracked files yang dimodifikasi temporarily

Git flow pada sumbang.in project:

Sebelumnya berikut ini adalah branch yang digunakan pada project sumbang.in:

  • Master: Branch ini protected. Hanya owner atau maintainer saja yang bisa melakukan merge ke branch ini. Branch staging akan dimerge ke master dengan persetujuan product owner.
  • sit_uat: merupakan branch staging. Hasil sprint setiap minggu dikumpulkan di dalam branch ini
  • user story: merupakan branch dimana anggota tim mengerjakan task sprint masing-masing.
  • task: merupakan branch opsional jika ingin mengerjakan bagian kecil dari user story
  • hot fix: branch yang digunakan untuk membenarkan kesalahan di master
  • cold fix: branch yang digunakan untuk membenarkan kesalahan di staging
  1. Dari master buat branch sit_uat. Hanya gitlab owner yang bisa melakukan merge ke branch master. command: git checkout -b sit_uat
  2. Checkout dari branch sit_uat dan bikin branch baru untuk tiap backlog item dengan penamaan US-<nomor_user_story>-<judul_user_story>. Develop user story di branch ini. command: git checkout -b US-12-Riwayat_barang
  3. Untuk masing-masing task boleh dibuat branch baru. Checkout dari branch US-…. dan buat branch baru dengan penamaan <nomor_US>-<nama_task>, develop task di branch tersebut. command: git checkout -b 12-ganti_models
  4. Develop task kalian di branch story masing-masing. Untuk tiap perubahan yang berarti, maka commit pekerjaan kalian. command: git add [nama_file] kemudian git commit -m “commit message yang berarti”
  5. Sebelum melakukan push ke branch user story harus melakukan pull dari sit_uat dan branch US remote dahulu. State test yang sudah ada sesudah pull tidak boleh berubah dari green ke red. command: git pull origin sit_uat, git pull origin US-12-Riwayat_barang, dan jika sudah selesai git push origin US-12-Riwayat_barang
  6. Jika sudah lolos test maka branch user story bisa dilakukan merge request ke branch sit_uat. Di branch sit_uat tidak boleh lagi ada error. Untuk melakukan merge ke branch ini code dari user story sudah harus lolos test dan code review dari minimal dua orang yang tidak terlibat dalam development.
  7. Deliver release dari sit_uat ke master jika sudah disetujui oleh product owner

--

--