你能在TortoiseGit中做部分提交吗?

And*_*ner 33 tortoisegit

本机git允许部分提交:您只能提交文件的某些行,剩下的用于以后的提交.

这在TortoiseGit中可行吗?

And*_*ner 42

是的,文档中有官方说明.

在实践中,我觉得这个工作流很有用:

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

在此输入图像描述

  • 与原生git功能相比,它也非常烦人和令人困惑. (7认同)
  • @Mehrdad我从来不明白本机git功能是如何工作的!对我而言,它看起来总是太复杂了......另一方面,TortoiseHg非常简单:当您提交时,只需选择/取消选择您想要/不想要的块.我真的觉得TortoiseHg比TortoiseGit更有效率(即使我没有使用TortoiseHg 2 - 3年). (6认同)

MrT*_*Tux 5

答案/sf/answers/2276896891/基本上是正确的,但是所需的步骤较少。

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

这些步骤是必需的,因为 TortoiseGit 尚不支持完整的分段过程和大块/块选择,参见。https://tortoisegit.org/issue/2299