首页 > 解决方案 > git逐行而不是逐段添加

问题描述

有没有办法在git中逐行添加。

我试过这个:

git add -p 

但是这个命令对我来说并不高效。因为我需要分别对待每一行。

如果没有解决方案,我对 git 社区如何忘记添加此功能感到惊讶。

标签: gitgit-add

解决方案


您可以使用 单独添加行git add -p,但它可能有点复杂。

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

s当您收到此提示时,您可以先尝试使用密钥将大块拆分为更小的块。这将拆分非连续更改。如果这没有得到您想要的,您可以按e手动编辑大块。按下后e,编辑器窗口将打开。

在这里,您必须“禁用”所有您不想添加的(默认情况下将添加所有行):

  • 要禁用+(加号)行,请完全删除该行(不要留空行)
  • 要禁用-(减号)行,请将开头的减号替换为 ' '(单个空格)。
  • 要取消编辑,删除所有行,保存并退出。

这些说明将作为评论出现在编辑器中。

编辑完成后可以保存退出。只有“启用”的行会被添加到索引中。您可以对要编辑的任何大块重复此操作。

此功能可用于git reset -pgit checkout/restore -p其他交互式补丁命令,但它们的说明可能不同。


还有一个git add -e命令,您将在其中获得所有未暂存更改的类似补丁。你可以在那里做同样的事情,但它可能会更加混乱,尤其是对于大的变化。


推荐阅读