git merge と git rebase
0pt
git merge と git rebaseの違い。
masterのHEADはポイントA
(master) ---A
masterのHEADはポイントA
Aからブランチしたworkingを作成し、Bまで進める
(master) ---A \ (working) \-----B
ここまでだったら (master) git merge working で
workingの変更をmergeできる。
そこからさらに masterでも変更し A'まで進めたとする
(master) ---A -------------A' \ (working) \-----B
(master) git merge working ではmergeできない
fatal: You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you can merge.
と言われる。
(master) git rebase working する
First, rewinding head to replay your work on top of it... Applying: commit1 Applying: commit2
するとこうなる
(master) ---A ------A'' \ / (working) \-----B
コミットA'の存在はmasterからはなくなって、
Bからの続きとして AからA'の差分がマージされて A''になる
「git merge と git rebase」について友人に書いてもらう。
コメントはまだありません