merge和rebase
merge和rebase都是用来合并分支的。
merge和rebase的区别
合并的时候遇到冲突: 使用merge命令合并分支,解决完冲突, 执行
git add
git commit -m 'xxxxx'。
这个时候会产生一个commit log。
使用rebase命令合并分支,解决完冲突,执行
git add .
git rebase --continue
不会产生新的提交记录
分支的commit。 git pull和git pull --rebase区别:git pull做了两个操作分别是‘获取’和合并。所以加了rebase就是以rebase的方式进行合并分支,默认为merge。
采用merge和rebase后,git log的区别:
总结:我的简单理解——merge显性的处理冲突,rebase隐性的处理冲突。
git merge
和 git merge --no-ff
的区别
我自己尝试merge命令后,发现:merge时并没有产生一个commit。不是说merge时会产生一个merge commit吗?
注意:只有在冲突的时候,解决完冲突才会自动产生一个commit。
如果想在没有冲突的情况下也自动生成一个commit,记录此次合并就可以用
git merge --no-ff
获取远程项目中最新代码时
git pull --rebase
这个时隐性的合并远程分支的代码不会产生而外的commit。