首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘'git rev-parse -is-is work- tree’不识别工作树或子目录。

‘'git rev-parse -is-is work- tree’不识别工作树或子目录。
EN

Stack Overflow用户
提问于 2015-08-28 22:26:54
回答 1查看 1.8K关注 0票数 1

在更新到最新的Windows (1.6.2中的2.5.0)之后,我发现我无法重新定位一个分支:

代码语言:javascript
复制
C:\core\guidewire\Dev\2.4>git checkout fhcf-assumptiondate && git rebase master
Previous HEAD position was d032e17... Merge branch 'de8041'
Switched to branch 'fhcf-assumptiondate'
First, rewinding head to replay your work on top of it...
fatal: C:\Program Files\Git\mingw64/libexec/git-core\git-am cannot be used without a working tree.

关于这个问题的注释暗示了Git安装冲突,但是旧版本现在已经完全删除了,包括一个挥之不去的DLL和检查陈旧的环境vars。

查看git脚本,我发现错误消息来自使用git rev-parse --is-inside-work-tree的git-sh-设置中的测试。直接咨询rev-parse表明,它似乎不理解我真的在工作副本中:

代码语言:javascript
复制
C:\core\guidewire\Dev\2.4>dir .git
 Volume in drive C is System (Local)
 Volume Serial Number is D4EC-4ED4

 Directory of C:\core\guidewire\Dev\2.4

08/04/2015  21:16                27 .git
               1 File(s)             27 bytes
               0 Dir(s)  155,451,965,440 bytes free

C:\core\guidewire\Dev\2.4>git rev-parse --is-inside-work-tree
false

...Except一些命令能够正确地区分不同之处:

代码语言:javascript
复制
C:\core\guidewire\Dev\2.4>git status
HEAD detached from refs/heads/fhcf-assumptiondate
nothing to commit, working directory clean

C:\core\guidewire\Dev\2.4>cd ..

C:\core\guidewire\Dev>git status
fatal: Not a git repository (or any of the parent directories): .git

是什么让Git对我是否在正确的目录上感到困惑呢?

可能的兴趣点:

  • 回购是由以前的安装创建的。
  • 1.6.2是Git的msys结构。2.5.0是MinGW。
  • --separate-git-dir克隆了该重组子。
  • 自升级以来,checkoutstatusaddcommit和其他公司都没有出现问题。
  • 损坏存储库的克隆显示正确的行为;正确检测到工作树的“in”或“out”。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-31 19:38:41

要在升级到Windows 2.5之后继续使用现有的(1.6.x创建的)存储库,请更新repo的gitconfig:

代码语言:javascript
复制
[core]
    worktree = c:/core/guidewire/Dev/2.4

代码语言:javascript
复制
[core]
    worktree = C:/core/guidewire/Dev/2.4

新的Git安装要么获得与旧的不同的路径,要么不再对路径不区分大小写。因此,现有的回购工作树位置会出现错误,因为c:\core\guidewire\Dev\2.4下的任何文件夹都不会有C:\core\guidewire\Dev\2.4的前缀。当前版本的Git源没有显示不区分大小写的迹象,因此msys分叉可能已经修改了路径检查函数,或者在比较之前破坏了所有路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32280644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档