我正在使用SmartGit / Hg。我编辑了一些处理两个独立新功能的文件。现在,当我完成功能A 时,我想提交我的工作,但我不能只提交所有已编辑的文件,因为它们包含功能B 的更改,我现在不想承诺。
答案 0 :(得分:24)
您可以使用stage命令实现此目的。首先, stage 包含要提交的更改的所有文件。在此示例中,除了名为DoNotCommit.php
的文件之外的所有文件都包含至少一行我们要提交的文件:
接下来,我们需要为包含功能A 和 功能B 索引编辑器 >。在此示例中,我们需要检查Main.php
和NewFeatures.php
:
这将打开索引编辑器。您会看到包含代码的三个选项卡:存储库(HEAD),索引,工作树:
对我们来说,只有存储库(HEAD)和索引标签很重要。 存储库(HEAD)选项卡显示已提交的文件内容。 索引选项卡显示了我们要提交的更改。假设我们只想使用myNewCompletedFeature
函数提交第一个代码块:
如您所见,我们会从索引标签中删除我们不想提交的所有代码。这样做不从工作树中删除代码,这意味着您不会丢失任何更改。现在我们对新的NewFeatures.php
文件执行相同操作并再次保存:
在最后一步中,我们将实际提交新功能。 确保在提交窗口中选择分阶段更改!
哇,我们现在完成了!