如何使用SmartGit / Hg仅提交特定行

时间:2014-06-24 12:25:29

标签: git version-control commit staging smartgit

我正在使用SmartGit / Hg。我编辑了一些处理两个独立新功能的文件。现在,当我完成功能A 时,我想提交我的工作,但我不能只提交所有已编辑的文件,因为它们包含功能B 的更改,我现在不想承诺。

1 个答案:

答案 0 :(得分:24)

您可以使用stage命令实现此目的。首先, stage 包含要提交的更改的所有文件。在此示例中,除了名为DoNotCommit.php的文件之外的所有文件都包含至少一行我们要提交的文件:enter image description here

接下来,我们需要为包含功能A 功能B 索引编辑器 >。在此示例中,我们需要检查Main.phpNewFeatures.phpenter image description here

这将打开索引编辑器。您会看到包含代码的三个选项卡:存储库(HEAD)索引工作树enter image description here

对我们来说,只有存储库(HEAD)索引标签很重要。 存储库(HEAD)选项卡显示已提交的文件内容。 索引选项卡显示了我们要提交的更改。假设我们只想使用myNewCompletedFeature函数提交第一个代码块:enter image description here

如您所见,我们会从索引标签中删除我们不想提交的所有代码。这样做工作树中删除代码,这意味着您不会丢失任何更改。现在我们对新的NewFeatures.php文件执行相同操作并再次保存:enter image description here

在最后一步中,我们将实际提交新功能。 确保在提交窗口中选择分阶段更改 enter image description here

哇,我们现在完成了!