执行git pull 拉取远程分支,提示成功,但本地代码没有进行更新
远程分支目录:master pikaqiu
本地分支名字:pikaqiu
问题描述
想要拉取远程master分支的内容,没有报错,本地代码也没有进行更新
原因
通常,git会将本地库分支与远程分支之间建立一种追踪关系。比如,在git clone的时候,所有本地分支默认与远程库的同名分支建立追踪关系。也就是说,本地的master分支自动追踪origin/master分支,本地的pikaqiu分支自动追踪origin/pikaqiu分支.
因此,如果当前处于本地pikaqiu分支上,并且本地pikaqiu分支与远程的pikaqiu分支有追踪关系,那么执行git pull 会自动追踪远程pikaqiu分支。
解决办法
- 命令行方法:使用git fetch (还没试)
- 我出现这种问题,可能是使用sourcetree软件时,设置了拉取追踪。还没有找到取消拉取追踪的方法。目前解决办法:删除当前本地分支,重新建一个,再拉取(已解决)
git fetch 和git pull 的差别
- git fetch 相当于是从远程获取最新到本地,不会自动merge
git fetch orgin master //将远程仓库的master分支下载到本地当前branch中
git log -p master ..origin/master //比较本地的master分支和origin/master分支的差别
git merge origin/master //进行合并 - git pull:相当于是从远程获取最新版本并merge到本地
git pull origin master
git pull <远程主机名> <远程分支名>:<本地分支名>
链接:https://www.jianshu.com/p/e494199c0127