解决 TortoiseGit 诡异的 Bad file number

可以明确告诉这是windows 版TortoiseGit的一个bug来的,在网上百度来百度去,终于解决了,网上说的不一定能解决问题,还要自己动手去尝试才能解决问题。比如下面是我百度到的解决方法,但不能解决问题,还要自己去摸索一下,才行。比如根据下面来操作

  • 右边的 编辑本地.git/config 按钮,即可打开这个文件,如下图所示:

解决 TortoiseGit 诡异的 Bad file number

那么,看看一个正常的pull拉取操作会有哪些日志输出呢?

 

[plain] view plaincopy解决 TortoiseGit 诡异的 Bad file number解决 TortoiseGit 诡异的 Bad file number
  1. git.exe pull -v --no-rebase --progress "origin" master  
  2.   
  3. From https://github.com/renfufei/asynquence  
  4. * branch            master     -> FETCH_HEAD  
  5. = [up to date]      master     -> origin/master  
  6. Already up-to-date.  
  7.   
  8. 成功 (5959 ms @ 2014/11/30 0:11:27)  


一对比就发现第一行 git pull ..... 最后面少了一个 master. 于是想着在 config 文件里面加上这个 master 看看行不行.

 

修改后的配置如下:

 

[plain] view plaincopy解决 TortoiseGit 诡异的 Bad file number解决 TortoiseGit 诡异的 Bad file number
  1. [core]  
  2.     repositoryformatversion = 0  
  3.     filemode = false  
  4.     bare = false  
  5.     logallrefupdates = true  
  6.     symlinks = false  
  7.     ignorecase = true  
  8.     hideDotFiles = dotGitOnly  
  9. [remote "origin"]  
  10.     url = https://github.com/cncounter/translation.git  
  11.     fetch = +refs/heads/*:refs/remotes/origin/*  
  12. [branch "master"]  
  13.     remote = origin master  
  14.     merge = refs/heads/master  
  15. [remote]  
  16.     pushdefault = origin  
  17. [credential]  
  18.     helper = store  


 

需要注意的是,因为远端有多个分支,所以这个配置文件里,相应的就多了一个小节 [branch "master"],而 这个小节下面的 remote = origion, 现在加上 master 变为:

 

[plain] view plaincopy解决 TortoiseGit 诡异的 Bad file number解决 TortoiseGit 诡异的 Bad file number
  1. [branch "master"]  
  2.     remote = origin master  
  3.     merge = refs/heads/master   


如下图所示:

 

解决 TortoiseGit 诡异的 Bad file number

这样还不行的,会出现以下问题

解决 TortoiseGit 诡异的 Bad file number


注意顶头那里的“origin master”很明显是有问题的,可以手工把master 给删除,

然后点pull就可以了,然后下次不用改也会正常了。。

如果你这样操作可以的话,不用感谢我的!



转自:http://blog.sina.com.cn/s/blog_6b9a97ff0102vikl.html