My Personal Doc About GIT

  1. clone = clone remote repository / server to local machine / laptop

  2. fetch = fetch updated history / git tree dari suatu branch

  3. pull = untuk mengupdate perubahan code dalam suatu branch

  4. commit = untuk submit perubahan code dalam suatu branch dilocal machine / laptop

  5. push = untuk submit perubahan code dalam suatu branch ke remote repository / server

  6. ammend = mengedit commit sebelumnya dalam suatu branch, tujuannya untuk efesiensi commit

  7. squash commit = menjadikan multiple commit menjadi single commit, biasanya ketika merging ke main branch

  8. merge = menggabungkan perubahan yang ada pada suatu branch ke branch yang kita inginkan

  9. Sample commit message
    feat : login
    - revamp ui login
    - close JIRA-XXXX

  10. git flow
    - main branch is a release branch / production code (prod and sandbox), use main branch as sandbox branch, sandbox sebisa mungkin dibuat mirip dengan production
    - development branch is for staging (dev / integ)
    - untuk flow sederhana, ketika akan mengerjakan fitur baru atau bug fixing, selalu buat branch baru dari main branch contoh branch feat-abc
    - setelah melakukan commit perubahan pada branch feat-abc, maka kita perlu melakukan cherry pick ke development branch, dan build aplikasi staging (dev / integ) dari development branch.
    Tujuannya untuk apa? agar semua perubahan code dari semua developer misal ada 10 developer ada dalam 1 branch sehingga tidak ada code yang tertinggal ketika QA melakukan testing.
    - setelah proses testing pada staging (dev / integ) selesai maka kita melakukan pull request untuk merge branch feat-abc ke branch main, setelah itu build aplikasi untuk stage sandbox dari branch main untuk di test QA.
    - jika proses testing di stage sandbox sudah selesai maka selanjutnya build aplikasi production dari branch main untuk dilakukan test terakhir oleh QA.
    - Jika test terakhir sudah selesai maka aplikasi di release ke production (BE server production / Mobile ke play store / app store)

Komentar