我使用Git Gui,但很少在尝试暂存选定行时遇到错误消息框: 无法暂存选定行。 错误:补丁失败:Foo/Bar.json:103 错误:Foo/Bar.json:补丁不适用 整个文件的暂存操作是有效的,但是出现了这个错误,有人知道可能是什么原因吗?在使用Git Gui时是否遇到过类似问题?
首先,请确保使用最新的Git(最新版本为2.23)进行最小化。 正如我在“为什么git stash -p有时会失败?”中所解释的那样,自2018年第二季度以来,git stash(由git-gui调用)已经进行了一系列改进。 每当我尝试将一个块分成太靠近(更改之间少于3行)的较小块时,就会发生这种情况。 简短的解释是补丁中有上下文行与您的本地更改冲突。 请参见“Git stash apply did not return working directory?”。 通过玩弄diff.context可以帮助,最小化块上下文足迹。