【问题标题】:Can you do partial commit in TortoiseGit?你可以在 TortoiseGit 中进行部分提交吗?
【发布时间】:2015-12-08 05:30:03
【问题描述】:

原生 git 允许 partial commits:您可以只提交文件的某些行,而将其余部分留待以后提交。

这在 TortoiseGit 中可行吗?

【问题讨论】:

    标签: tortoisegit


    【解决方案1】:

    是的,文档中有official instructions

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

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

    【讨论】:

    • 相比原生 git 功能也很烦人,也很混乱。
    • @Mehrdad 我从来不明白原生 git 功能是如何工作的!它对我来说总是看起来太复杂了......另一方面,TortoiseHg 非常简单:提交时,您只需选择/取消选择您想要/不想要的块。我真的觉得 TortoiseHg 仍然比 TortoiseGit 更高效(即使我已经有 2-3 年没有使用 TortoiseHg 了)。
    • 原生的git gui工具有想要的功能,我可以看到这个答案中提到的方法很烦人。
    • 我用了几次之后就喜欢上了这个功能。将文件设置为“提交后恢复”,编辑文件 (TortoiseMerge) 以撤消您不希望在此提交中进行的更改,然后提交文件。提交后,文件将恢复您之前撤消的更改。
    【解决方案2】:

    答案https://stackoverflow.com/a/32527098/3906760基本正确,只是步骤少了。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-17
      • 2011-08-29
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      • 2017-04-17
      • 1970-01-01
      • 2016-09-08
      相关资源
      最近更新 更多