我试图用来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
仅将“错误修复1”行添加到索引。在文件上运行交互式添加,我选择补丁模式。它给我带来了
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”以应用第一个块。第二个大块头,我尝试编辑。我最初尝试删除底线-没用。完全放弃大块头也不起作用,我也不知道为什么。
-
,不要在文件开头不存在的行的开头添加;这是一个差异,它不能删除尚不存在的行。因此,如果diff中的一行以开头+
并且您将其更改为-
git,就会变成WTF?因为现在不存在标记为删除的行开头(而是将该行标记为添加,并且当标记为添加的行被标记为删除时,git无法删除文件中尚未存在的行) 。