git bash shell 在 Windows "Your edited hunk does not apply"

git bash shell on Windows "Your edited hunk does not apply"

我在尝试使用以下命令手动编辑帅哥时遇到了一个非常令人沮丧的错误:

git add -p

我已经浏览过该站点上的许多现有问题,包括 this one, and this one

我正在尝试手动编辑一个大块头,对git打开的文件进行手动编辑,不做任何更改,但仍然得到错误 "Your edited hunk does not apply"。

我认为这可能与 CRLF 与 LF EOL 字符有关。我在 Notepad++ 中编辑,我可以看到我所有的行结尾都是 CRLF。我天真地想把所有的行尾都改成LF,但是没有用。

我还可以看到所有上下文行都有前导空格,所以这也不是问题。此外,我还有:

git --global core.autocrlf

设置为true

非常感谢任何帮助。


编辑: 根据 VonC 的回答,在我的具体情况下,我有权限 + 内容差异。这是否仍然意味着我不能做:

git add -p

如果这只是一个权限差异,我明白为什么这不是必需的,并且必须删除交互选项;但在这种情况下,有没有办法仍然进行互动 add?

首先,将git --global core.autocrlf设置为false
然后再次克隆你的 repo,并检查 core.autocrlf:

的值
cd /path/to/new/clone
git config core.autocrlf

(无 --global)

最后,再次尝试您的 git add -p(在您的新工作树中报告您的修改之后)。

关于帅哥管理,另见“”。


"Your edited hunk does not apply".

diff --git a/<file-a> b/<file-b> > 
index <short-hash-a>..<short-hash-b> 100644 
--- a/<file-a> 
+++ b/<file-b>
<changes>

如果没有更改(仅在允许的情况下),在这种情况下添加 "patch" 没有意义:您只是 git add 文件(没有 -p

但如果有变化,OP 提到的问题“git add --interactive “Your edited hunk does not apply””仍然是参考。