【问题标题】:git add line by line and not by paragraphgit逐行而不是逐段添加
【发布时间】:2020-08-12 07:41:04
【问题描述】:

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

我试过这个:

git add -p 

但是这个命令对我来说不是很有效。因为我需要分别处理每一行。

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

【问题讨论】:

  • 你试过分割块吗?
  • "我很惊讶 git 社区忘记添加这个功能。" 很容易理解——没有人需要这个功能。添加一个大块 - 是的,我们需要它。只从一个大块头中添加了一行?为什么?

标签: git git-add


【解决方案1】:

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

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

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

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

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

这些指令将在编辑器中显示为 cmets。

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

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


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

【讨论】:

    猜你喜欢
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    相关资源
    最近更新 更多