git命令之pull
文章目錄
理解了fetch和merge后,之后再来看git pull就容易多了。在git的官方文档上,有git pull is shorthand for git fetch followed by git merge FETCH_HEAD
,也就是说git pull是git fetch和git merge的结合,只是这里的merge是fast-forward方式。
依然在test-git仓库上进行测试,
使用`git log –graph –pretty=oneline –abbrev-commit`查看log,
1 | * dee871e Merge remote-tracking branch 'origin/master' |
- 在结果中, add fast-forward in test-pull.md使用
git pull
直接拉取远程分支的变化得到的 - 而add no-fast-forward in test-pull.md是通过执行
git fetch origin master
和git merge --no-ff origin/master
两个命令后的结果。
从上面的结果可以看出,使用git fetch
和git merge --no-ff
更能保存仓库版本变化的轨迹,推荐使用这种方式。
参考资料: