Make git add --patch 记住我拒绝添加的帅哥直到下一次提交

Make git add --patch remember which hunks I've declined to add until the next commit

我的常见工作流程是进行大量代码编辑,然后使用 git add --patch 将我的更改组织成逻辑上一致的提交。

一个反复出现的场景是这样的:

  1. 我跳过了一堆与我要进行的提交无关的更改
  2. 我添加了一些有意义的更改
  3. 我发现了一个拼写错误或一些我忘记删除的注释掉的代码
  4. 我点击q退出交互式添加
  5. 我返回我的编辑器并进行小改动
  6. 我又开始了git add --patch
  7. 我再次非常仔细地检查了整个更改集,确保为所有我不想包括的帅哥再次输入 n
  8. 我找到我最新更新的帅哥并输入 y 添加它。
  9. 转到第 1 步

这个循环一遍又一遍地进行,直到我的提交准备就绪。

我想要 git 记住我明确拒绝添加的帅哥,这样下次我 运行 git add --patch 时,我就不会不得不再次拒绝他们。

我认为 git 不支持这一点,但是否有任何我可以调整的工具或工作流程可以使这更容易?

这可能最好使用我的编辑器中的 Git 集成(目前 VSCode)。

在有变化的文件的Git: Open Changes 视图中,您可以select 文件的一个区域,然后运行 Git: Stage Selected Ranges 命令来暂存一个块。由于您就在编辑器中,因此在暂存之前在那里进行更改是微不足道的。

我可能只需要更改我的工作流程并以这种方式进行分期。

(相信Emacs中的Magit也支持这种工作流程。)