【问题标题】:Can I make "git add -p" to immediately quit after added hunk?我可以让“git add -p”在添加大块后立即退出吗?
【发布时间】:2019-12-23 16:23:49
【问题描述】:

使用git add -p,我可以逐步添加个人帅哥。

在很多情况下,我想只添加一个大块,然后立即退出交互模式。 我不希望出现下一个大块,因为它会在编写提交消息时让我感到困惑,并迫使我向上滚动以查看添加的大块。

有没有办法直接做到这一点,而不是显示下一个大块然后使用“q”?

我已经尝试输入“aq”,但它不起作用(而且我真的没想到它会起作用)。

【问题讨论】:

  • 为什么不用 git 客户端而不是命令行呢?
  • @xsquared 可靠性?可移植性?速度?更好的理解?也许他们所有人?只是猜测。
  • 而且我猜有太多人在 CL 上使用 git 而实际上并不需要。如果是关于理解,这是 GUI 好处的完美示例。我使用 smartgit 客户端比 CL 了解更多关于 git 的知识,因为它可以可视化内容。如果您想知道,它还会向您显示为每个 GUI 操作执行的 git 命令。但实际上,了解 git 重要的不是它的命令名称调色板,而是它们背后的概念。除此之外,使用客户端时不存在OP的问题。
  • 你怎么知道第一个大块是你想要的?
  • @evolutionxbox 不是第一个钩子,。只是我选择“y”的第一个。或者我选择“yq”的那个,意思是“是的,然后退出”。不存在,但问题是最接近的匹配。

标签: git git-add


【解决方案1】:

一种解决方法: 像这样创建一个别名(在 ~/.gitconfig 中):

[alias]
apd = "!git add -p; git diff --staged -U12"

至少这可以让您在不滚动的情况下看到分阶段的差异。

当然欢迎任何其他答案。

【讨论】:

  • 更新:我使用这个新别名已经有一段时间了,我认为这是一个非常好的主意。事实上,我将其重命名为“ap”。我什至可以将其设为 bash 别名,因此我什至不必再输入“git”了 :)
  • “甚至不必再输入 'git'” -> 这让我开始搜索,我找到了这个 QA:stackoverflow.com/questions/56505000/… 现在正在尝试 git-sh。
猜你喜欢
  • 2010-11-10
  • 2017-10-28
  • 2016-02-26
  • 2013-08-04
  • 1970-01-01
  • 2011-09-10
  • 2012-07-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多