【发布时间】:2020-01-27 16:39:37
【问题描述】:
我使用 Git Gui,当我尝试暂存选定的行时,我很少收到错误消息框:
未能暂存选定的行。 错误:补丁失败:Foo/Bar.json:103 错误:Foo/Bar.json:补丁不适用
不过,暂存整个文件是可行的。
有谁知道可能导致此错误的原因? 有其他人在使用 Git Gui 时遇到过吗?
【问题讨论】:
我使用 Git Gui,当我尝试暂存选定的行时,我很少收到错误消息框:
未能暂存选定的行。 错误:补丁失败:Foo/Bar.json:103 错误:Foo/Bar.json:补丁不适用
不过,暂存整个文件是可行的。
有谁知道可能导致此错误的原因? 有其他人在使用 Git Gui 时遇到过吗?
【问题讨论】:
首先,确保使用最新的 Git(最新 2.23)最低限度。
正如我在“Why does git stash -p sometimes fail?”中解释的那样,git stash(由 git-gui 调用)自 Git 2.17(2018 年第二季度)以来有了一系列改进。
每当我尝试将一个大块拆分为靠得太近的小块(更改之间少于 3 行)时,都会发生这种情况。
简短的解释是补丁中的上下文行与您的本地更改冲突。
在“Git stash apply did not return working directory?”查看更多信息。
使用diff.context could help,最大限度地减少大块上下文占用。
【讨论】: