2013-03-05 62 views
7

交互式地添加部分笨蛋如果在选择split后仍然显示过大时仍然显示为hunk,那么如何与git add --patch交互式地仅添加一些线/部分大块?使用git add --patch

@@ -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正确地指出 “拆分”,可能是一个有效的选择。

回答

14

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

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

这将启动您的编辑器,您可以删除那是大块头不需要的行即将被添加到索引中。改变是虚拟的,那就是你的文件不会改变。

+0

还应该有一个“分裂这个大块头”选项,这使得更容易(大块可以分成单行) – 2013-03-05 16:40:03

+1

这是一个有用的参考:[每个y,n,q,a,d,/,K,j,J,g ,E,?代表在git -p的环境中](http://stackoverflow.com/questions/10605405/what-does-each-of-the-ynqadkjjge-stand-for-in-context-of-git-p) – AJP 2017-03-30 10:25:24

5

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

这将导致git将其拆分成更小的区块。 然后你会收到一个菜单为每个新的大块(这是原来的一部分),在那里你可以选择舞台,甚至进一步分割,等等。

+0

I忘了说“如果分裂的块还是太大”。我会更新这个问题,但你的答案仍然是正确和有用的。 – 2013-03-05 20:02:51