【发布时间】:2017-10-20 02:11:37
【问题描述】:
我常见的工作流程是进行一堆代码编辑,然后使用git add --patch 将我的更改组织成逻辑一致的提交。
一个反复出现的场景是这样的:
- 我跳过了一堆与我要进行的提交无关的更改
- 我添加了一些有意义的更改
- 我发现一个错字或一些我忘记删除的注释掉的代码
- 我点击
q退出交互添加 - 我回到我的编辑器并进行小改动
- 我又开始
git add --patch了 - 我非常仔细地再次浏览了整个更改集,确保再次输入
n来查找我不想包含的所有大块头 - 我找到我新更新的大块并输入
y以添加它。 - 转到第 1 步
这个循环一遍又一遍地进行,直到最后我的提交准备就绪。
我想让 git 记住我明确拒绝添加的帅哥,这样下次我运行 git add --patch 时,我不必再次拒绝它们。
我认为 git 不支持这一点,但有什么工具或工作流程可以让我更轻松地进行调整吗?
【问题讨论】:
-
你为什么不支持“早提交,经常提交”的风格?
-
我确实经常提交,但特别是如果我在一个不熟悉的代码库中或添加一些东西,我会在我的工作副本中进行一些编辑,这些编辑没有意义组合成 1提交。
-
不管怎样,当我做了很多需要重建和清理的黑客攻击时,我发现自己有时处于类似的情况。我没有尝试使用
git add -p进行大量小提交,而是在临时分支上提交大更改,然后在“真正的分支”上重新开始进行更小、计划更好的更改。