Git Gui 错误 - 无法暂存选定的行...补丁不适用

sas*_*alm 6 git git-gui

我使用 Git Gui,当我尝试暂存选定的行时,很少会收到错误消息框:

无法暂存选定的线路。
错误:补丁失败:Foo/Bar.json:103
错误:Foo/Bar.json:补丁不适用

不过,暂存整个文件是可行的。

有谁知道可能导致此错误的原因是什么?有其他人在使用 Git Gui 时遇到过吗?

Von*_*onC 2

首先,确保使用最新的 Git(最新 2.23)最小版本。
正如我在“为什么git stash -p有时会失败? ”中解释的那样,git stash(由 git-gui 调用)自 Git 2.17(2018 年第二季度)以来已经有了一系列改进。

每当我尝试将一个大块分割成距离太近的较小块(更改之间的行数少于 3 行)时,这种情况就会发生在我身上。
简而言之,该补丁中的上下文行与您的本地更改发生冲突。

更多信息请参阅“ Git stash apply 没有返回工作目录? ”。
使用diff.context可能会有所帮助,最大限度地减少大块上下文足迹。