[Git] fast-forward merge跟 non-fast-forward的差別

在用 git merge 合併分支的時候有 fast-forwardnon-fast-forward兩種方式
下面的圖是在分支合併之前

使用non-fast-forward merge

git merge --no-ff branch_name做non-fast-forward merge 的話,會看到git線的右邊會另外開一條線然後保留在aa branch上所做的commit。

使用fast-forward merge

git merge branch_name 做fast-forward merge的話,所有的commit 都會被加到master的線上面,看起來就會像是全部的commit都是在master上做的一樣。

個人是偏好用non-fast-forward的方式做merge,因為這樣在線上可以清楚地看出哪幾個commit是另外開branch做的,然後也比較清楚哪些是新增的功能。

comments powered by Disqus