git merge --no-ff中--no-ff有什么作用
-
- 使用--no-ff 选项会创建一个新的合并提交,包含来自两个分支的更改。这样,当查看提交历史时,你可以看到分支的合并点,以及在合并过程中引入的更改。
- 对应的 sourcetree 的合并操作就是勾选合并分支时包括被合并提交的信息内容
1. 这样会是分支的节点更加清晰,分支中才不会有无关的 commit node,特别是对 master 分支极为重要。 2. 方便对代码的 review,可以很清楚地知道这个功能修改了那些内容 3. 方便出错的时候进行回退,只需要回退一个节点接口完成代码的回退 4. 在代码发生冲突的时候,git 会为我们创建一个节点,也就是平时看到的“Merge”信息的节点。但如果被合并的代码超前于目标分支,git 就会将所有的节点都合并到目标分支中,而不是生成一个新的节点再合并。这对于 master 分支简直就是灾难,因为 release 分支或者 hotfix 分支必然是超前于 master 分支的。