Windows上的git bash shell“;您编辑的帅哥不适用";

Windows上的git bash shell“;您编辑的帅哥不适用";,git,interactive,git-add,Git,Interactive,Git Add,在使用命令手动编辑大块时,我遇到了一个非常令人沮丧的错误: git add -p 我已经浏览了这个网站上的许多现有问题,包括,和 我正试图手动编辑一个大块头,对git打开的文件进行手动编辑时不做任何更改,但仍然会出现错误“您编辑的大块头不适用” 我想这可能与CRLF和LF EOL角色有关。我正在用Notepad++编辑,我可以看到我所有的行尾都是CRLF。我天真地试图把所有的行尾都改成LF,但没有用 我还可以看到,所有上下文行都有前导空格,所以这也不是问题所在。此外,我还: git --glo

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

git add -p
我已经浏览了这个网站上的许多现有问题,包括,和

我正试图手动编辑一个大块头,对git打开的文件进行手动编辑时不做任何更改,但仍然会出现错误“您编辑的大块头不适用”

我想这可能与CRLF和LF EOL角色有关。我正在用Notepad++编辑,我可以看到我所有的行尾都是CRLF。我天真地试图把所有的行尾都改成LF,但没有用

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

git --global core.autocrlf
设置为
true

非常感谢您的帮助


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

git add -p
如果只是一个权限差异,我理解为什么不需要这样做,并且必须放弃交互选项;但是在这种情况下,是否仍有方法执行交互式的
添加操作?

首先,将
git--global core.autocrlf
设置为
false

然后再次克隆您的回购,并检查
core.autocrlf
的值:

cd /path/to/new/clone
git config core.autocrlf
(否——全球)

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

关于帅哥管理,另请参见“”


“您编辑的帅哥不适用”

diff--git a/b/>
指数100644
---a/
+++b/
如果没有更改(仅在权限中),那么在这种情况下添加“补丁”是没有意义的:您只需
git添加文件(no
-p


但是如果有更改,OP提到的问题“”仍然是参考。

您能给出导致此错误的命令和其他操作的确切顺序吗?运行
git add-p
后,我只需键入
e
手动编辑一大块代码
git
然后打开一个编辑文件来编辑hunk。即使关闭此编辑文件而不进行任何更改,我也会收到错误。请编辑您的问题以包含此信息。您可能还希望添加编辑代码的步骤。给出一个更具体的原始编辑示例,然后稍后展示如何编辑hunk也会很有帮助。此外,当您说“git然后打开一个编辑文件”时,我假设您的意思是git在vim中打开该文件。是这样吗?@Code学徒我的问题中包含了所有这些信息。注意,我说git用记事本++打开我的编辑文件(我默认的.txt文件编辑器)。我还说,即使没有对hunk编辑文件进行任何更改,我也会收到错误。谢谢你的回答!我已经试过你说的了。在我的新克隆repo中,
core.autocrlf
的本地值返回为
false
,但是在手动编辑模式下,
git add-p
仍然返回相同的错误(同样,编辑文件没有任何更改)。@Atreyu
git diff--afile
的结果是什么?(使用
a文件
您试图添加的文件-p
)我得到
diff--git a/b/
索引。。100644
--a/
+++b/
我有点困惑,我的文件中有内容更改,我不记得更改了文件的权限。。。这是Windows中的一个怪癖吗?@Atreyu在你的例子中,如果你只看到100644和实际的内容更改,这不是权限问题(我修改了我的答案以使其更清楚)。有关Windows上的权限,请参见图示。
diff --git a/<file-a> b/<file-b> > 
index <short-hash-a>..<short-hash-b> 100644 
--- a/<file-a> 
+++ b/<file-b>
<changes>