IntelliJ中是否有办法从git commit中排除代码块中的某些行?
例如,我有以下更改:-
我要排除提交的最后一行( ADMIN_API_URL )。
我知道我可以通过单击行号49(as described here)旁边的那个小复选框来进行部分提交,但这将删除整个块。我只想删除特定的行。如果没有直截了当的方法,是否有办法将一个大块拆分为多个大块?这样我就可以做我想做的事。
我可以在Sourcetree中通过右键单击某些行并选择“ Stage Selected Lines”来执行此操作。只是想知道如何在IntelliJ中做到这一点,而且,最好知道如何使用git命令来做到这一点。
答案 0 :(得分:0)
最好知道如何使用git命令来做到这一点。
进行git add -p
时,您可以选择编辑块:然后可以删除最后一行。
我不认为InelliJ在applying a patch时会提供类似的选项。参见issue IDEA-63201。
答案 1 :(得分:0)
如果您使用git add -p
命令使用git命令行,则可以实现以下目的:
出现提示时,通过键入“ e”来编辑大块:
$ git add -p
Stage this hunk [y,n,q,a,d,/,e,?]? e
打开默认的文本编辑器,将行+ADMIN_API_URL
替换为+
(删除文本ADMIN_API_URL
)。
保存并退出编辑器,您已完成。
您可以执行
git diff --staged
来查看您的下一次提交将不包含最后一行,git diff
,以查看最后一行仍存在于您的工作副本中。