Skip to content
Snippets Groups Projects
Alifia Rahmah's avatar
Alifia Rahmah authored
Staging

See merge request !57
3d590bdc

ITBOpenCourseWare Frontend

Development Guide

  1. Checkout ke branch staging + pull

    git checkout staging
    git pull
  2. Buat branch baru dari staging dengan format feat/s<nomor sprint>-sb<nomor sb>-<nama fitur dipisah dengan strip (-)>. Jika membuat perubahan dari fitur yang sudah ada di staging, formatnya menjadi fix/s<nomor sprint>-sb<nomor sb>-<apa yang diubah dari fitur tersebut>

    git checkout -b feat/s1-sb1-login
  3. Lakukan perubahan pada branch tersebut, commit dengan format feat(<scope fitur>): <isi perubahan>. Jika melakukan perubahan pada fitur yang sudah ada, formatnya menjadi fix(<scope fitur>): <isi perubahan>, lain-lainnya bisa dilihat di semantic commit

    git commit -m "feat(login): add login page"
  4. Push branch ke remote

    git push origin feat/s1-sb1-login
  5. Buat merge request ke branch staging, tambah assignee diri sendiri dan reviewer

Handling Accidents

  • Salah branch untuk commit?

    Gunakan git reset --soft HEAD~1 untuk menghapus commit terakhir, lalu git checkout <branch yang benar> untuk kembali ke branch yang benar. Commit ulang dengan format yang benar. Tapi hal ini hanya bisa dilakukan sebelum push ke remote.

    Baru sadar salah branch setelah beberapa commit? Gunakan git reset --soft HEAD~<jumlah commit sebelumnya>

  • Ada update baru dari staging ketika sedang mengerjakan pekerjaan di branch sendiri?

    Sebenarnya jika itu pekerjaan orang yang tidak ada hubungannya dengan anda, tidak masalah.

    Tapi jika iya, contohnya ingin mengambil komponen yang baru ada di staging, gunakan git rebase staging untuk mengambil update dari staging. Jika ada konflik, selesaikan konflik tersebut, lalu git add . dan git rebase --continue untuk melanjutkan rebase. Jika sudah selesai, push ulang branch anda ke remote dengan git push -f.

    Sistem kerja rebase basically memutuskan semua commit pekerjaan anda sampai commit terakhir yang sinkron dengan staging, git pull dari staging, lalu menyambungkan kembali sehingga dapat meminimalisir konflik, walaupun tetap bisa ada konflik, terutama jika ada perubahan di file sama. Selengkapnya bisa dilihat ilustrasinya sebagai berikut.

    rebase illustration

  • Ada konflik saat melakukan rebase?

    Selesaikan konflik tersebut, lalu git add . dan git rebase --continue untuk melanjutkan rebase. Jika sudah selesai, push ulang branch anda ke remote dengan git push -f.

  • Ada konflik saat melakukan merge request?

    Selesaikan konflik tersebut, lalu git add . dan git commit --amend untuk menggabungkan konflik tersebut ke commit terakhir (jika malas). Push ulang branch anda ke remote dengan git push -f.

  • Ada salah di pesan commit terakhir?

    Gunakan git commit --amend untuk mengganti commit terakhir dengan commit baru. Jika sudah selesai, push ulang branch anda ke remote dengan git push -f.

  • Baru sadar ada salah pesan di beberapa commit sebelumnya?

    Gunakan git rebase -i HEAD~<jumlah commit sebelumnya> untuk mengubah pesan commit dari commit terakhir hingga beberapa sebelumnya.

    Pada kumpulan commit tersebut, ubah pick menjadi reword atau r pada commit yang ingin diubah pesannya, lalu simpan (ctrl + x, y, enter di editor nano) dan keluar. Selanjutnya akan ada editor untuk mengubah pesan commit tersebut, yang akan satu persatu sesuai dengan urutan commit yang ingin diubah.

    Jika sudah selesai, push ulang branch anda ke remote dengan git push -f. Untuk detail lebih lanjut, baca selengkapnya di sini.