S eda1a14b50ee24bcab19b62f40858e76 git merge と git rebase

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」

    S eda1a14b50ee24bcab19b62f40858e76

    無所属ソフトウェアエンジニア

    (1722words)

    最新

      最新エントリ

        関連ツイート