我正在尝试使用git add --interactive
来选择性地将一些更改添加到我的索引中,但我不断收到“您编辑的补丁块无法应用。请重新编辑...”的消息。即使我选择e选项并立即保存/关闭编辑器,我仍然会收到此消息。换句话说,即使没有编辑补丁块,这个补丁也无法应用。
这是我正在使用的确切示例(我正在尝试组合一个小演示):
原始文件:
first change
second change off branch
third change off branch
second change
third change
fourth change
新文件:
Change supporting feature 1
first change
second change off branch
third change off branch
second change
third change
fourth change
bug fix 1
change supporting feature 1
我正在尝试展示如何使用git add --interactive
仅将"bug fix 1"行添加到索引中。在文件上运行交互式添加时,我选择了补丁模式。它向我显示:
我想展示如何使用git add --interactive
命令,只将“bug fix 1”行添加到索引中。在文件上运行交互式添加时,我选择了patch模式。它会呈现给我:
diff --git a/newfile b/newfile
index 6d501a3..8b81ae9 100644
--- a/newfile
+++ b/newfile
@@ -1,6 +1,9 @@
+Change supporting feature 1
first change
second change off branch
third change off branch
second change
third change
fourth change
+bug fix 1
+change supporting feature 1
我使用split命令,并在其后输入"no"来应用第一个差异块。对于第二个差异块,我尝试进行编辑。最开始我试图删除底部的行 - 但这并没有起作用。完全不修改差异块也不起作用,而我无法弄清原因。
-
;这是一个差异,它不能删除不存在的行。因此,如果差异中的一行以+
开头,并且您将其更改为-
,git 会感到困惑,因为现在标记为删除的行根本不存在(相反,该行被标记为添加,当标记为添加的行被标记为删除时,git 无法删除文件中不存在的行)。 - leeand00