interactive.diffFilter在使用diff进行交互隐藏期间发生git错误
我的git是diff 在交互式隐藏期间,我从git收到以下错误(interactive.diffFilter在使用diff进行交互隐藏期间发生git错误,git,diff,Git,Diff,我的git是diff 在交互式隐藏期间,我从git收到以下错误(git stash save-p'some stash name'): 致命:interactive.diffFilter的输出不匹配 提示:过滤器必须保持一对一的对应关系 提示:在其输入和输出行之间 如果您有任何关于如何解决此问题的想法,我们将不胜感激我最终设法找到了一个解决方案,以防它对任何人都有帮助: 找到你的.gitconfig文件(我在mac上的文件在~/.gitconfig中) 在文本编辑器中打开它 查找以下行:
git stash save-p'some stash name'
):
致命:interactive.diffFilter的输出不匹配
提示:过滤器必须保持一对一的对应关系
提示:在其输入和输出行之间
如果您有任何关于如何解决此问题的想法,我们将不胜感激我最终设法找到了一个解决方案,以防它对任何人都有帮助:
- 找到你的.gitconfig文件(我在mac上的文件在~/.gitconfig中)
- 在文本编辑器中打开它
- 查找以下行:
- 删除
diffFilter=diff-so-fancy
- 拯救
问题已解决。在使用
-p
(-patch
)模式时,您的最佳选择可能只是关闭花式模式。除此之外,您还必须修复diff-so-fancy代码中的任何错误,使其按照--补丁
代码需要的方式运行,和/或使--补丁
代码足够智能,以理解diff-so-fancy
的输出。(当然,您也可以完全停止使用--patch
模式。)(可能有效也可能无效的想法:在使用--patch
模式时,将pager.diff
设置为false
。diff如此奇特的代码通过插入自身作为diff寻呼机来工作;禁用寻呼机应产生--patch
模式所需的机器可读补丁输出。)感谢@torek的建议,您让我找到了在您选择的编辑器中快速打开全局gitconfig的解决方案:git config--global--edit
(使用$git\u editor
或core.editor
或$VISUAL
或$editor
或默认内置,以最先找到的为准)。不过,我在前面的评论中提出的想法是,git-c pager.diff=false add-p
可能会直接绕过过滤器。这可能不会,这取决于奇特的交互代码的功能。另一种可能性是:git-c interactive.difffilter=add-p
,但我不确定空值在这里是否有效。谢谢@torek,但是我不希望每次添加/stash/etc时都要编写这么长的命令,也不希望为它创建别名。
[interactive]
diffFilter = diff-so-fancy