Skip to content

Use case

Mainly, there's three use cases for each development

  1. new feature
  2. bugfix
  3. hotfix

Info

Case 1 only make it to develop branch. Case 2 and 3 make it to production

Role Developer

Case 1

There's a developer will be developing a login feature. Things to do is:

  • Create a new branch login feature with naming convention git branch feature-login
  • Checkout to the feature-login branch git checkout feature-login
  • Do the development of the feature (coding)
  • Pull first from the develop branch of upstream git pull upstream develop
  • If there's conflict, resolve it first
  • After that, do a commit with the new feature git add -A git commit -m “add feature login #SDTGF-001”
  • After commit, merge to develop branch
  • Checkout to develop branch git checkout develop
  • Merge feature-login branch git merge feature-login --no-ff
  • Push develop branch to origin git push origin develop
  • Request merge from develop branch in origin to develop branch in upstream
  • After merged, delete feature-login branch
    git branch -d feature-login

Case 2 : Bugfix Development (There’s a Bug in Development)

Terdapat 2 kasus yaitu :

  • Bugs terdeteksi setelah dilakukan Merge oleh Maintainer di repo Upstream
  • Bugs terdeteksi setelah dilakukan commit di repo Local

Case 2.1

Developer men- develop fitur login dan terdapat bugs setelah dilakukan merge di repo Upstream. Hal yang dilakukan adalah :

  • Pastikan posisi pada branch develop dengan cara : git checkout develop
  • Pull terlebih dahulu dari develop upstream untuk update code terbaru git pull upstream develop
  • Buat branch bugfix dari fitur yang terdapat bug contoh : git branch bugfix-login
  • Checkout ke branch bugfix git checkout bugfix-login
  • Lakukan pengerjaan bugfix (coding)
  • Setelah itu jangan lupa untuk pull dahulu dari develop upstream dengan cara git pull upstream develop
  • Setelah selesai lakukan commit pada hasil development bug tersebut git add -A git commit -m “bugfix login #SDTGF-001”
  • Setelah commit, barulah kita akan merge ke branch develop dengan cara
    • Checkout ke branch develop git checkout develop
    • Merge branch feature login git merge bugfix-login --no-ff
    • Push ke branch develop git push origin develop
  • Setelah itu lakukan Merge Request dari Develop Origin ke Develop Upstream
  • Jangan lupa setelah itu branch feature dihapus dengan cara : git branch -d bugfix-login

Case 2.2

Developer men- develop fitur register dan terdapat bugs setelah dilakukan commit di repo Local. Hal yang dilakukan adalah :

  • Pastikan posisi pada branch develop dengan cara : git checkout develop
  • Pull terlebih dahulu dari develop upstream untuk update code terbaru git pull upstream develop
  • Misal developer buat branch feature register contoh : git branch feature-register
  • Checkout ke branch feature-register git checkout feature-register
  • Lakukan pengerjaan fitur register (coding)
  • Pull terlebih dahulu dari develop upstream git pull upstream develop
  • Lakukan commit hasil pengerjaan fitur register git add -A git commit -m “add feature register #STDGF-002”
  • Setelah commit nampaknya terdapat bugs, nah yang harus dilakukan adalah tetap lanjutkan merge ke develop terlebih dahulu dengan cara git checkout develop git merge feature-register --no-ff
  • Lalu setelah dilakukan merge, buatlah branch baru bernama bugfix dengan nama bugfix-register git branch bugfix-register
  • Checkout ke branch bugfix git checkout bugfix-register
  • Lakukan pengerjaan bugfix (coding)
  • Setelah itu jangan lupa untuk pull terlebih dahulu dari develop upstream git pull upstream develop
  • Setelah selesai lakukan commit pada hasil development bug tersebut git add -A git commit -m “bugfix register #STDGF-002”
  • Setelah commit, barulah kita akan merge ke branch develop dengan cara
    • Checkout ke branch develop git checkout develop
    • Merge branch feature login git merge bugfix-register --no-ff
    • Push ke branch develop git push origin develop
  • Setelah itu lakukan Merge Request dari Develop Origin ke Develop Upstream
  • Jangan lupa setelah itu branch feature dihapus dengan cara : git branch -d feature-register git branch -d bugfix-register

Case 3 : Hotfix Development (There’s a Bug in Production)

Bagaimana kasus ini bisa terjadi? kasus ini terjadi apabila terjadi bugs setelah code naik ke production. Cara mengatasinya adalah kita melakukan yang namanya Hotfix. Contoh adalah terdapat bugs register di production.

  • Pastikan posisi ada di branch Master git checkout master
  • Lakukan Pull All Branch dari master (untuk dapatkan semua branch upstream) git pull upstream
  • Lakukan Pull terlebih dahulu dari Upstream Master git pull upstream master
  • Buat Branch Hotfix dengan nama fiturnya git branch hotfix-register
  • Checkout ke branch Hotfix git checkout hotfix-register
  • Lakukan pengerjaan aktivitas hotfix (coding)
  • Pull terlebih dahulu dari upstream master git pull upstream master
  • Commit hasil pengerjaan git add -A git commit -m “hotfix register #STDGF-002”
  • Checkout ke Branch release (Hasil tarik all branch dari repo Upstream, tidak dibuat sendiri) git checkout release
  • Lakukan Merge ke branch release git merge hotfix-register --no-ff
  • Push ke branch release git push origin release
  • Lakukan Merge Request dari RELEASE Origin ke RELEASE upstream
  • Jangan lupa untuk delete branch hotfix git branch -d hotfix-register

Role Maintainer

Case 1 : Masih di develop (belum naik ke production)

Tugas maintener melakukan Code review and merge MR

Case 2 (Dinaikkan ke production)

  • Clone Repo git clone <SSH_REPO>
  • Pindah ke direktori project cd <Direktori>
  • Checkout ke branch release git checkout release
  • Merge release dengan branch develop git merge develop
  • Berikan tag git tag v1.0.0
  • Create Changelog file auto-changelog
  • Commit Changelog file git add . git commit -m “<message>”
  • Checkout ke branch master git checkout master
  • Merge branch dengan tag tersebut git merge v1.0.0
  • Push tag git push origin v1.0.0
  • Push ke branch master git push origin master
  • Checkout ke release git checkout release
  • Push ke release git push origin release

Case 3 : Terjadi Hotfix dan dinaikkan ke Production

  • Checkout to release branch git checkout release
  • Pull from origin release git pull origin release
  • Create a tag git tag v1.0.1
  • Create Changelog file auto-changelog
  • Commit Changelog file git add . git commit -m “<message>”
  • Checkout to master git checkout master
  • Merge tag with branch master git merge v1.0.1
  • Push tag git push origin v1.0.1
  • Push to master branch git push origin master
  • Checkout to release branch git checkout release
  • Push to release branch git push origin release