Devsway

日々の記録とか記憶とか。


はじめに


知らない言葉が出てきたのでまとめました。


普段SourceTreeを使用してるのであんま細かいことわかってないんですよね。

コマンド使うと深いところまで理解できます。。。(多分)


fast-forward mergeとは?


日本語訳だと「早送りマージ」


branchをマージする際、マージするbranchの分岐元がそのマージするbranchその人だった場合、

ただ単にポインタを前に進めるだけ、、になる。


ただ単にポインタを前に進めるだけってなに?


A:マージコミットが発生しない!


よくよく考えたら普段マージするとき2種類パターンがあることに気付かされます。


その2種類とは?


マージコミットが発生するパターン



マージコミットが発生しないパターン

です。


わかりづらいので実際にやってみた


Fast-forward mergeの例



ryo_oda$ git merge feature/test
Updating f7870e8..d923e55
Fast-forward
test.md | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

gitさん「ほいほいmergeね...?」
gitさん「よくよく見たら...派生元のmaster派生してから変わってないやんけ、、」
gitさん「単純にmasterの先頭をfeature/testの先頭のところにもってくればええか。。」

って感じです。(多分)


Fast-forwardじゃない mergeの例



ryo_oda$ git merge feature/2018-10-04
Auto-merging test.md
CONFLICT (content): Merge conflict in test.md
Automatic merge failed; fix conflicts and then commit the result.

ってこれはAuto-mergingに失敗してしまったパターンです。。

とくにコンフリクトがない場合、ここでmergeコミットが作られます。正確に言うと「Auto-merge」です。


なんとなく見えてきましたね!😝




カテゴリー

オレオレIT用語辞典