git pull
,git fetch
和git rebase
之间有什么区别?我觉得拉和取都一样。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'
)。
通常情况下,您会将'feature'重定位到'master',而不是相反。 –
并且'git merge master'会导致比您所发现的更复杂的提交历史记录。 –
同意@代码学徒,这里我试图展示'简单/通用'的区别。 –
- 1. git pull VS git fetch git rebase
- 2. 'git remote update','git fetch'和'git pull'有什么区别?
- 3. “git reset”和“git rebase”有什么区别?
- 4. git push和git pull有什么区别?
- 5. git pull --rebase,git rebase和git merge之间的区别
- 6. git pull和git pull之间的区别--rebase
- 7. 为什么git pull会引入git fetch rebase不是的变化?
- 8. 'git fetch'和'git fetch --all'有什么区别
- 9. “git pull origin”和“git pull remote”有什么区别?
- 10. git fetch和git pull混淆
- 11. 了解git pull和git fetch
- 12. 有什么区别git fetch B + git merge B vs git merge origin/B
- 13. phpstorm git pull --rebase
- 14. git rebase after pull
- 15. git rebase upstream/master vs git pull --rebase upstream master
- 16. `git rebase foo bar`和`git checkout bar之间的区别; git rebase foo`?
- 17. git merge和git fetch之间的区别?
- 18. “git checkout”和“git checkout - ”有什么区别?
- 19. `git diff`和`git difftool`有什么区别?
- 20. git add *和git add。有什么区别?
- 21. git am和git apply有什么区别?
- 22. git-stash和git-checkout有什么区别?
- 23. file .git和directory .git有什么区别?
- 24. 撤销git pull --rebase?
- 25. git pull --rebase --ff-only会做什么?
- 26. 什么是git fetch和git pull之间非常具有描述性和易于理解的描述?什么时候git fetch vs git pull更好?
- 27. git rebase auto可以做git fetch吗?
- 28. 'git svn rebase'和'git rebase trunk'之间的区别
- 29. 从远程分支的pull rebase是不同的git fetch + rebase
- 30. git分支:``git merge master``和``git pull origin master``之间的区别
http://stackoverflow.com/questions/292357/difference-between-git-pull-and-git-fetch – jophab
我建议你阅读[临的Git(https://git-scm.com /电子书/ EN/V2)。前三章涵盖了你每天需要的95%,包括你的问题的答案。 –
'git pull --rebase'相当于后两个 – Pockets