git merge
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
我们在前面创建的develop分支上提交一个改动
修改仓库中index.html
在develop上提交了新的改动之后,分支线如下图所示:
当我们在新分支develop上把功能开发完成之后,需要把该分支上的开发的功能都迁移到主分支上,只需要使用git merge 命令把新分支合并到主分支就行
首先切换到主分支 master上
然后在master分支上执行合并命令
其中Fast-forward表示本次合并是快进合并,也就是直接把master
指向develop
的当前提交
合并成功之后分支线如下图所示
那什么情况下执行快进合并,什么情况下执行非快进合并呢
如果当前分支相比于我们要合并的分支没有额外的提交(commit)时,可以执行 fast-forward 合并。Git 很懒,首先会尝试执行最简单的选项:fast-forward!这类合并不会创建新的提交,而是会将当前分支指向要合并的分支的最新提交
如果在当前分支上提交了要合并的分支不具备的改变,那么 git 将会执行 no-fast-forward 合并。
使用 no-fast-forward 合并时,Git 会在当前活动分支上创建新的 merging commit
结果是一样的,dev上的改变合并到了master上,只是在master分支上多了一次合并提交
如果合并过程中发现有冲突文件,就