你能在 TortoiseGit 中进行部分提交吗?

Can you do partial commit in TortoiseGit?

本机 git 允许 partial commits:您可以只提交文件的某些行,其余行留待以后提交。

这在 TortoiseGit 中可行吗?

是的,文档中有 official instructions

在实践中,我发现这个工作流程很有用:

  • 右键单击您要部分提交的文件
  • 单击提交后恢复 - 这会立即创建文件的内部副本。
  • 双击要在TortoiseGitMerge
  • 中编辑的文件
  • 右键单击 -> 标记此块 为您现在要提交的每个更改
  • 右键单击 -> 仅保留标记的块以还原其他更改。
    作为这两个步骤的替代方法,您可以按需要的方式编辑文件。
  • 保存关闭TortoiseGitMerge
  • 提交 - 这会在之后恢复文件的内部副本。
  • 您刚刚在 TortoiseGitMerge 中还原的更改现在已在您的工作树中恢复。

答案基本正确,只是步骤比较少。

  • 在要部分提交的文件的上下文菜单中选择提交后恢复 - 这会立即创建文件当前状态的内部副本。
  • 现在将文件调整为仅包含您要提交的更改
    • 这可以使用任何您想使用的编辑器来完成,但也可以使用 TortoiseGitMerge:
      • 双击 要在 TortoiseGitMerge(或您配置的 diff 工具)中编辑的文件
      • 将文件调整为仅包含您要提交的更改。
      • 保存关闭
  • 提交 - 这会提交所选文件并恢复文件的内部副本 - 文件的原始状态现在再次出现在您的工作树中。

这些步骤是必需的,因为 TortoiseGit 尚不支持完整的暂存过程和 hunk/block 选择,请参见。 https://tortoisegit.org/issue/2299.