git merge --no-ffについて
--no-ffの有無でツリーの変化を確認してみる
【--no-ff無し】
******************
* 5b6b016 (deve_1) 2015-02-22 rebase_user@com deve_1
* 7b8ff40 (HEAD, master) 2015-02-22 rebase_user@com GG
* 02422eb 2015-02-22 rebase_user@com FFF
******************
↓ deve_1をマージする(git merge deve_1)
MASTER_GIT
Updating 7b8ff40..5b6b016
Fast-forward
deve_1_deve_1
sample.txt | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
******************
* 5b6b016 (HEAD, master, deve_1) 2015-02-22 rebase_user@com deve_1
* 7b8ff40 2015-02-22 rebase_user@com GG
* 02422eb 2015-02-22 rebase_user@com FFF
******************
Fast-forwardが効いてますね。
ツリーは一直線になりました。
【--no-ff有り】
******************
* 877a7b1 (deve_1) 2015-02-22 rebase_user@com deve_1_deve_1
* 5b6b016 (HEAD, master) 2015-02-22 rebase_user@com deve_1
* 7b8ff40 2015-02-22 rebase_user@com GG
* 02422eb 2015-02-22 rebase_user@com FFF
******************
↓再びマージ(git merge --no-ff deve_1)
Merge made by recursive.
sample.txt | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
******************
* 12da77d (HEAD, master) 2015-02-22 rebase_user@com Merge branch 'deve_1'
|\
| * 877a7b1 (deve_1) 2015-02-22 rebase_user@com deve_1_deve_1
|/
* 5b6b016 2015-02-22 rebase_user@com deve_1
* 7b8ff40 2015-02-22 rebase_user@com GG
* 02422eb 2015-02-22 rebase_user@com FFF
******************
履歴が残りました。
SourceTreeのマージはデフォルトで--no-ffがついてる模様。