Skip to content

Latest commit

 

History

History
81 lines (74 loc) · 1.71 KB

git-workflow.md

File metadata and controls

81 lines (74 loc) · 1.71 KB

Git Workflows

Atau bisa dibilang cara kerja menggunakan Git

Alumni Subversion

Ciri khas :

  • Semua commit dicampur di trunk
  • Commit per online, bukan per task
  • Branch cuma untuk maintenance rilis

Cara kerja :

  • Clone repo
$ git clone myrepo
  • Hacking / rubah code
$ git commit -am "log message"
$ git pull
  • Resolve conflicts
$ git push

Outcome :

  • Commit gak jelas juntrungannya
  • Tiap commit tidak bisa di-apply sebagai patch yang solid
  • Merge commit di mana2

Git Zealot

Ciri khas :

  • Commit per task
  • Bikin branch even untuk ngerjain 1 commit doang
  • Rebase melulu

Cara kerja :

  • Clone project terus buat branch baru
$ git clone myrepo
$ git checkout -b topic-branch
  • Hack / rubah code
  • Pilih hunk yang mau distage
$ git add -i
  • Commit terus Push ke branch baru yang telah dibuat
$ git commit -m "log message"
$ git push origin topic-branch
  • Jangan gunakan master untuk kerja, master hanya untuk track upstream.
  • Persiapan untuk rilis
$ git checkout master
$ git remote add upstream
$ git fetch upstream
$ git merge master upstream/master
$ git checkout topic-branch
  • Pilih :
    • $ git rebase master (awas intermediate commit juga harus ditest)
    • $ git checkout master dan $ git merge topic-branch (jadi ada merge commit) -> preferred seperti katanya nvie
  • resolve conflicts
  • Commit
$ git commit -m "log message"
  • Send pull request
$ git format-patch
  • send untuk review/pull request

Outcome :

  • Clean, linear history
  • Patch bisa di-apply secara clean
  • Tiap commit jelas urusannya
  • Butuh waktu lama untuk pilih2 hunk