git merge B nên được hiểu là git merge A with B. git rebase A nên được hiểu là git rebase B to A
Giả sử ta có 2 branch A
và B
. Ta đều muốn gắn B lên A.
Khi merge là lấy commit từ nơi khác về mình. Nên nếu muốn gắn B lên A thì phải đứng ở A để gọi lệnh merge lên B:
Tức là lúc này nên đọc lệnh này là:
Còn rebase là bứng commit hiện tại sang nơi khác. Nếu muốn gắn B lên A thì phải đứng ở B để gọi lệnh rebase lên A:
Tức là lúc này nên đọc lệnh này là:
2 tham số¶
Tương đương với
Khi merge, ours là branch hiện tại. Khi rebase, theirs là branch hiện tại
Nguồn::
git checkout foo
git checkout -b newbar
git cherry-pick C D E
git checkout bar
git reset --hard newbar
git branch -d newbar`
is equivalent to this:
Nguồn:: A Helpful Mnemonic for ‘git rebase’ Arguments // Think Like (a) Git