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 mergegit merge --no-ff的区别

我自己尝试merge命令后,发现:merge时并没有产生一个commit。不是说merge时会产生一个merge commit吗?

注意:只有在冲突的时候,解决完冲突才会自动产生一个commit。

如果想在没有冲突的情况下也自动生成一个commit,记录此次合并就可以用

git merge --no-ff

获取远程项目中最新代码时

git pull --rebase

这个时隐性的合并远程分支的代码不会产生而外的commit。