可以明确告诉这是windows 版TortoiseGit的一个bug来的,在网上百度来百度去,终于解决了,网上说的不一定能解决问题,还要自己动手去尝试才能解决问题。比如下面是我百度到的解决方法,但不能解决问题,还要自己去摸索一下,才行。比如根据下面来操作
- 右边的 编辑本地.git/config 按钮,即可打开这个文件,如下图所示:
那么,看看一个正常的pull拉取操作会有哪些日志输出呢?
- git.exe pull -v --no-rebase --progress "origin" master
- From https://github.com/renfufei/asynquence
- * branch master -> FETCH_HEAD
- = [up to date] master -> origin/master
- Already up-to-date.
- 成功 (5959 ms @ 2014/11/30 0:11:27)
一对比就发现第一行 git pull ..... 最后面少了一个 master. 于是想着在 config 文件里面加上这个 master 看看行不行.
修改后的配置如下:
- [core]
- repositoryformatversion = 0
- filemode = false
- bare = false
- logallrefupdates = true
- symlinks = false
- ignorecase = true
- hideDotFiles = dotGitOnly
- [remote "origin"]
- url = https://github.com/cncounter/translation.git
- fetch = +refs/heads/*:refs/remotes/origin/*
- [branch "master"]
- remote = origin master
- merge = refs/heads/master
- [remote]
- pushdefault = origin
- [credential]
- helper = store
需要注意的是,因为远端有多个分支,所以这个配置文件里,相应的就多了一个小节 [branch "master"]
,而 这个小节下面的 remote = origion, 现在加上 master 变为:
- [branch "master"]
- remote = origin master
- merge = refs/heads/master
如下图所示:
这样还不行的,会出现以下问题
注意顶头那里的“origin master”很明显是有问题的,可以手工把master 给删除,
然后点pull就可以了,然后下次不用改也会正常了。。
如果你这样操作可以的话,不用感谢我的!
转自:http://blog.sina.com.cn/s/blog_6b9a97ff0102vikl.html