使用git add --patch以交互方式添加部分块

时间:2013-03-05 16:00:58

标签: git

如果选择git add --patch后显示的hunk仍然太大,我如何只使用split以交互方式添加部分行/部分字符串?

@@ -2,9 +2,17 @@ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
 diam nonumy eirmod tempor invidunt ut labore et dolore magna
 aliquyam erat, sed diam voluptua. At vero eos et accusam et
 justo duo dolores et ea rebum. Stet clita kasd gubergren, no
+Ut wisi enim ad minim veniam, quis nostrud exerci tation
+ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo
+consequat. Duis autem vel eum iriure dolor in hendrerit in
+vulputate velit esse molestie consequat, vel illum dolore eu
+feugiat nulla facilisis at vero eros et accumsan et iusto
+odio dignissim qui blandit praesent luptatum zzril delenit
+augue duis dolore te feugait nulla facilisi.
 sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem
 ipsum dolor sit amet, consetetur sadipscing elitr, sed diam
 nonumy eirmod tempor invidunt ut labore et dolore magna
 aliquyam erat, sed diam voluptua. At vero eos et accusam et
 justo duo dolores et ea rebum. Stet clita kasd gubergren, no
 sea takimata sanctus est Lorem ipsum dolor sit amet.

更新

由于SO用户avivir正确地记录了“拆分”,因此可能是一个有效选项。

2 个答案:

答案 0 :(得分:16)

如果您只想添加一部分大块,您可以从显示的菜单中选择编辑:

Stage this hunk [y,n,q,a,d,/,e,?]?

这将启动您的编辑器,您可以从中删除即将添加到索引的块中的不需要的行。更改是虚拟的,即您的文件不会更改。

答案 1 :(得分:6)

使用git add --patch的's'(拆分)选项。

这将导致git将其分成更小的帅哥。 然后,您将收到每个新块(这是原始块的一部分)的菜单,您可以在其中选择进行分级,进一步分割等等。