git merge¶
git merge [<commit> ...]的作用是将指定分支上(可以是多个分支)的修改, 合并到当前分支上来.
注解
两个分支有共同的父节点, 将被合并的分支相对于共同父节点的修改合并到当前分支上来.
合并的基础: 有共同的父节点.
例如:
现在有两个分支A和B, 当前分支是A, 执行git merge B就是将B分支上当前commit的修改合并到A分支上来.
更具体的说, 就是将B分支上当前commit相对于共同父节点的修改合并到A分支上来.
git merge --abort
只有当git merge产生了冲突时才能使用.
该命令会终止merge, 并尝试使版本库回到merge之前的状态.
但是, 如果在merge时, 有未提交的修改, 那么git merge --abort可能无法重构merge之前的状态.
所以, 在执行merge时, 应该尽量保证没有未提交的修改.
快进式合并¶
通常, 使用git merge合并分支之后, 会生成一个新的的合并commit.
但是, 如果被合并的分支是从当前分支分叉出来的, 可以使用快进式合并(Fast-Forward).
注解
所谓快进式合并, 就是使当前分支指针指向被合并的分支的当前commit, 而不用生成一个合并commit.
当可以使用快进式合并时, 默认就会使用快进式合并;
如果不想使用快进式合并, 而是生成一个合并commit, 需要加上--no-ff选项.