git pull,git fetch和git rebase有什么区别?
这个问题在这里已经有了答案:
获取:使用远程更改更新本地 ,但不与任何本地分支 合并 。
拉:更新本地 并将更改与当前分支 合并 。
git fetch
:从原始获取最新更改(不合并)
git pull
= git fetch
+ git merge
如果您将feature
分支重定位到master
分支上。 git rebase master
,它会保持feature
分支commits/changes
顶部。
假定您在master
分支( A
- > C
)中提交了两个提交,并且在feature
分支( B
- > D
)中提交了两个提交。
假设你在feature
分支( git checkout feature
)。 现在,如果你merge master
然后提交历史记录
(previous commit) - A -- C <- master
B -- D -- M <- feature
这里, M
代表new-merge-commit-sha
。
对于rebase master
,提交历史记录:( A
- > C
- > B'
- > D'
)。
上一篇: what is the difference between git pull , git fetch and git rebase?