Atau bisa dibilang cara kerja menggunakan Git
Semua commit dicampur di trunk
Commit per online, bukan per task
Branch cuma untuk maintenance rilis
$ git commit -am "log message"
$ git pull
Commit gak jelas juntrungannya
Tiap commit tidak bisa di-apply sebagai patch yang solid
Merge commit di mana2
Commit per task
Bikin branch even untuk ngerjain 1 commit doang
Rebase melulu
Clone project terus buat branch baru
$ git clone myrepo
$ git checkout -b topic-branch
Hack / rubah code
Pilih hunk yang mau distage
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 untuk review/pull request
Clean, linear history
Patch bisa di-apply secara clean
Tiap commit jelas urusannya
Butuh waktu lama untuk pilih2 hunk