目录
git pull和git pull --rebase的区别和使用
两种合并方式(git merge 和git rebase)的区别
git pull和git pull --rebase的区别和使用
使用下面的关系区别这两个操作:
git pull = git fetch + git merge
git pull --rebase = git fetch + git rebase
git pull = git fetch + git merge FETCH_HEAD
git pull --rebase = git fetch + git rebase FETCH_HEAD
差距就在git fetch之后的合并操作,合并操作有两种方式: git merge和git rebase
现在来看看git merge和git rebase的区别。
假设当前master的提交如下:
如果是你或者你的同事在cid2点,开发进度是cid20(或者突然撇出一个分支,假设是tmp分支),此时要把cid20提交到master
在master执行git merge tmp,然后会得到如下结果:
新增了一次提交记录cid6 (合并点),产生一个megre 记录,甚至没有changID:
commit 8aa716d5f8c550692c4022b965bfda788xxxx1
Merge: c5681f7 86e26b8
Author: xxx<xxx@xxx.com>
Date: Fri Apr 1 14:44:33 2022 -0400
Merge "PN:202203xxx 组合业务拷机,xxx出现断言,……"
似乎也没有什么问题。如果你装了小乌龟,查看提交日志,可能就是下面的样子:
那么来看看git rebase, 在master执行git rebase tmp,操作之后的分支如下: