[英]How do I only commit specific lines using SmartGit/Hg
我正在使用SmartGit / Hg。 我编辑了一些处理两个独立新功能的文件。 现在,当我完成功能A的工作时,我想提交我的工作,但我不能只提交我编辑的所有文件,因为它们包含功能B的更改,我现在不想提交。
您可以使用stage命令实现此目的。 首先, 暂存包含要提交的更改的所有文件。 在此示例中,除了名为DoNotCommit.php
的文件之外的所有文件都包含至少一行我们要提交的文件:
接下来,我们需要为包含功能A 和 功能B的行的所有文件打开索引编辑器 。 在这个例子中,我们需要检查Main.php
和NewFeatures.php
:
这将打开索引编辑器 。 您会看到包含代码的三个选项卡: 存储库(HEAD) , 索引 , 工作树 :
对我们来说,只有存储库(HEAD)和索引选项卡很重要。 存储库(HEAD)选项卡显示已提交的文件内容。 “ 索引”选项卡显示我们要提交的更改。 假设我们只想使用myNewCompletedFeature
函数提交第一个代码块:
如您所见,我们从“ 索引”选项卡中删除了我们不想提交的所有代码。 这并不 工作树删除代码,这意味着你不丢失任何的更改。 现在我们对新的NewFeatures.php
文件执行相同操作并再次保存:
在最后一步中,我们将实际提交新功能。 确保在提交窗口中选择分阶段更改 !
哇,我们现在完成了!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.