更改git块中的参考线?

时间:2017-01-05 08:47:36

标签: git

Git是否可以控制应该考虑添加哪些行?在工作中进入这个并且虽然不是自己的问题,但它在提交差异中更像是一个眼睛。请参阅代码块中的一些其他注释。

我已尝试{{#power-select options=names onchange=(action "foo") as |name|}} {{name}} {{/power-select}} 手动编辑大块,但无法让它工作。它接受大块,但恢复到原来的大块。尝试更改差异中的行范围。

还试过Git Gui,但遇到了:

  

无法暂存所选行

使用Git v.2.11.0。

git add -p

这就是差异

<RadioButton
    android:id="@+id/foo"
    android:text="@string/foo" />

<RadioButton <!-- This radio button was pasted from above... -->
    android:id="@+id/foo2"
    android:text="@string/foo2" />

<RadioButton <!-- ...in the same spot that this one used to live -->
    android:id="@+id/bar"
    android:text="@string/bar" />

我希望它看起来像这样

--- a/layout.xml
+++ b/layout.xml
@@ -3,5 +3,9 @@
        android:text="@string/foo" />

 <RadioButton <!-- Technically this was the line I did add -->
+       android:id="@+id/foo2"
+       android:text="@string/foo2" />
+
+<RadioButton <!-- And not this one -->
        android:id="@+id/bar"
        android:text="@string/bar" />

这可能会被改变,还是我应该学会忍受它? :)谢谢!

1 个答案:

答案 0 :(得分:0)

Git没有存储差异,它存储完整的文件。它会在你要求的时候动态生成差异。这包括git add -p步骤(即生成新差异),每次运行git showgit log -p等等。

从版本2.9.0开始,Git的diff有一个实验--compaction-heuristic选项,如果可能的话,它会将diff移动到空白行。请注意,它需要在修补程序上方有一个实际的空白行,并且在您的示例中有一个空白行。如果您的Git版本为2.9.1或更高版本,则git add -p也会遵循您配置的diff.compactionHeuristic设置。请参阅the git config documentation(搜索compactionHeuristic)。