Cygwin:Git stash -> 无法保存当前索引状态

3
我在Windows下使用Cygwin进行一些命令行操作。其中一个我偶尔使用的命令是git stash。但是最近几周每次使用它时都会出现以下错误:无法保存当前的索引状态。
我也尝试在其他项目中使用,所以这不是项目相关的问题。历史记录没有被破坏或类似的情况。由于我很少使用它,所以我不知道问题是何时开始的。
该错误在git-stash文件的第110行抛出。这就是为什么我调试了前面两行代码的原因。
$(printf 'index on %s\n' "$msg" | 
git commit-tree $i_tree -p $b_commit)

当我执行第一个命令时,输出了我的最新提交。这似乎没问题。当我将两个命令通过管道连接起来输出时,结果为空,因此可能是“git commit-tree $i_tree -p $b_commit”有问题。我谷歌了很长时间,但没有找到解决此问题的方法。
Cygwin Git 版本:2.14.1
Cygwin x64 版本:2.8.2(0.313/5/3)
1个回答

2

首先,使用Git打包的bash检查问题是否仍然存在。确保设置你的PATH以便:

  • 不包括cygwin
  • 包括git/bin、git/usr/bin和git/mingw64/bin: 请参见此示例
    为了测试目的,使用简化路径非常重要,以确保没有来自其他软件的副作用。

其次,在git stash关键行中添加git status,以查看Git存储库状态是否显示任何可疑内容。


我移除了Cygwin的git包并在Windows上安装了git。这比每次调试Cygwin的git错误要容易得多。这不是第一个错误,在此之前还有几个,但在几次更新后消失了。但我不想永远等待解决这个问题。 - Ben
抱歉,但您的回答既不是解决方案也没有提供帮助。目前还没有解决Cygwin Git问题的方法。在Windows上安装Git只是一个临时解决方案,无法解决根本问题。 - Ben
@ChampS 你需要cygwin吗?或者在Win10上使用WSL可能是一个足够的环境。(https://msdn.microsoft.com/en-us/commandline/wsl/install_guide) - VonC
1
git状态已经完成了工作。我在控制台中得到了一个提示,下一步应该做什么。 - Pavlo Zvarych

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接