【发布时间】:2015-05-21 18:26:03
【问题描述】:
我正在尝试将更改拆分为多个提交,但在手动编辑大块时遇到了问题。
原版:
@@ -116,8 +116,8 @@
context
context
- remove 1
- remove 2
- remove 3
+ add 1
+ add 2
+ add 3
context
context
context
我只想暂存发生在“删除 1”和“删除 2”的更改。换句话说,我需要从提交中排除“删除 3”。
我试过这个:
@@ -116,4 +116,4 @@
context
context
- remove 1
- remove 2
+ add 1
+ add 2
但它一直输出补丁不适用。我只删除了最后的上下文行和“删除 3”和“添加 3”行。我编辑了大块范围并减去了 4 个排除行(3 个是上下文,1 个是更改,1 个被删除,1 个被添加)
我使用了 2 种不同的编辑器,“nano”和“sublime text”,它们的结果相同。我确保没有没有被注释掉的空行。
我做错了什么?
【问题讨论】:
-
为什么原来的补丁是
@@ -116,8 +116,8 @@,而改版的却是@@ -116,4 +116,4 @@? -
因为我删除了 4 行,其中 3 个是最后 3 个上下文行,还有一个是我不想包含的修改行。
-
好的,如果您只删除
remove 3/add 3(无需额外编辑)并更改信息@@ -116,7 +116,7 @@,那么补丁是否适用? -
不,也不应该。因为这样我完全删除了这条线,甚至是上下文之一。我可以找到解决方法(例如删除添加的行并将删除的行更改为上下文),但我需要了解为什么会发生这种情况。