git命令
git merge branch_name
- 将branch_name分支合并到所在分支
- 从两个分支最新节点的最近共同祖先节点开始(两分支分离的节点), 到branch_name分支的最新节点之间的所有commits合并到当前所在分支
git merge --abort
- 当合并出现冲突时, 可以使用该命令, 直接放弃本次合并, 使得当前分支恢复合并之前的状态
git merge --no-ff branch_name
- 默认情况下是
fast forward (--ff)
合并模式 , 如果没有冲突时, 不会自动创建一个新的commit节点 --no-ff
模式, 即使没有冲突也会创建新的合并commit节点git merge --no-ff m "message"
提前给出新的合并commit的记录信息
fast forward
模式在历史记录中看不出合并历史no fast forward
模式在历史记录中可以看出合并历史- 如果合并有冲突, 无论那种模式, 都需要在解决冲突后add/commit, 都会创建一个新的节点.
- 默认情况下是
git合并策略
-
三路合并算法
- 三路合并算法是用于解决冲突的一种方式,当产生冲突时,三路合并算法会获取三个节点:本地冲突的B节点,对方分支的C节点,B