## Merge vs Rebase
merge

rebase

- merge 和 rebase 是兩種不同的合并方式。
- merge 的log是有分叉的,合并后的commit的父親是合并的多個分支的commit。
- rebase 則是將修改移動到最后,將log合并為一條。
- merge 的缺點是 log 可能很亂。
- rebase的缺點是丟失了拉出,合并入分支的時間節點。
## Fast forward模式合并
**git merge** 默認為**Fast forward**模式合并,也就是說合并分支時,如果**能用Fast forward模式**,默認就會用這種模式合并,但這種模式下,刪除分支后,會**丟掉分支信息**。
> 


## 3-way merge
關閉fast-forward模式,在提交的時候,會創建一個merge的commit信息(可編輯),合并后的分支指向這個commit
```git merge --no-ff branch_name```
