merge 作業

いくつかの機能追加の要求があり、それぞれ別 branch で盛り込んでは動作確認をして頂いて一段落。これ達を先週末の問題処理な方に追加する形でとりあえずのリリース版を作成してくなんしょ、と依頼が入る。

まず確認

後天性記憶不全なので。
ログを確認してみるに一つは

c4503324  dd6632cb8  bd0c489e61  8521246868

o---------o----------o-----------o

みたいなものになってて、もう一つはその続き、になってました。

8521246868 95144c5030 6c6ca1d53b f1941de0d8a

o----------o----------o----------o

つうことはこの branch を元に branch を作って merge してけば良いのか。

後は

簡単なはず。
と思ったら conflict した。

  • エディタで conflict 解消
  • 修正したファイルを git add
  • merge な commit 作成

ちなみに git add した時点で

$ git diff --cached

してみると差分が分かって良いです。歴史てきには以下なカンジなのか。

37b1bc3d88f a14fcd51e53c   2ace0ffdf05

o-----------o-----------o
                         \
f1941de0d8a               \
                           \
o---------------------------o

で、もひとつの branch を merge したのですが微妙なカンジで conflict してます。基本両方生かすカンジ、って事になるんですが似たような場所で新規なソレの実装を盛り込んでたからこーなるんだろうな。
こうなりました。

eea48e605ac   b34bc09aaf4

o-----------
            \
2ace0ffdf05  \
              \
o--------------o

なんか自分で書いてて微妙です。つうかここまで入り組んでると --graph 付けてみないと微妙ですね。

動作確認

したら bug 検出。元の branch で修正を盛り込んで merge な branch にその差分を merge してます。このあたりも非常に楽ちんですね。graph なログは意味不明というか ascii で書けない世界になってるみたいなので略します。

つうか

やっぱ、このあたりの操作がさくさくっと済むのは楽ですね。楽というよりもむしろ有難い。
わし的には git 万歳な状態は変わらないかな、ってカンジです。