Git fetch和Git pull
- git fetch 是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。
- git pull 是将远程主机的最新内容拉下来后直接合并,即 git pull = git fetch + git merge ,可能会产生冲突,需要手动解决。
两者相同点
先在作用上,两个的功能大致相同,都是更新代码
两者不同点
Git fetch 可以用来更改远程跟踪分支,或者是git push后作为副产品来改变。
- Git fetch:使用Git fetch更新代码,本地库中的master的commitID不变,还是等于1。
- Git pull ,使用Git pull更新代码,本地库张master的commitID发生改变,变成了2。
- Git fetch的用法
git fetch<远程主机名> //将某个远程主机的更新全部取回本地。
git fetch<远程主机名><分支名> //取回远程主机的特定分支更新
取回更新后,会返回一个FETCH_HEAD,指的是某个branch在服务器上的最新状态,
git log -p FETCH_HEAD //可以在本地通过它查看刚取回的更新信息:判断是否有冲突,确定是否合并至到当前分支。
gitmerge FETCH_HEAD //合并到当前分支
- Git pull的用法
git pull 的过程可理解为:
git fetch origin master //从远程主机的master分支拉取最新内容
git merge FETCH_HEAD //将拉取下拉的内容合并到当前最新分支。
即将远程主机的某个分支的更新取回,并与本地指定的分支合并。
git pull<远程主机名><远程分支名>:<本地分支名> //若远程分支是与