Windows上的git bash shell"你编辑的hunk不适用"

时间:2017-01-29 04:56:55

标签: git interactive git-add

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

git add -p

我已经查看了此网站上的许多现有问题,包括this onethis one

我正试图手动编辑一个大块,不做任何修改到git打开的文件进行手动编辑,仍然收到错误"你编辑的大块头做了不适用"。

我认为这可能与CRLF与LF EOL角色有关。我在Notepad ++中编辑,我可以看到我的所有行结尾都是CRLF。我天真地尝试将所有线路结尾改为LF,但无济于事。

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

git --global core.autocrlf

设置为true

非常感谢任何帮助。

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

git add -p

如果它只是一个权限差异,我理解为什么这不是必要的,并且必须删除交互选项;但在这种情况下,有没有办法继续进行交互式add

1 个答案:

答案 0 :(得分:1)

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

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

(no --global)

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

关于大块管理,另请参阅“Unexpected result in git-diff”。

  

“您编辑的hunk不适用”。

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

如果没有更改(仅限于权限),在这种情况下添加“补丁”没有意义:您只需git add该文件(无-p

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