比方说,我对我的代码做了很多修改,只需要提交其中的一小部分。有没有办法在mercurial中做到这一点?我知道darcs
有一个类似这样的特性。
我知道hg transplant
可以在分支之间做到这一点,但我需要这样的东西来在present分支中提交代码,而不是在从其他分支添加更改集时。
发布于 2011-12-27 05:08:19
我觉得我漏掉了一些东西,因为还没有人提出这个建议。
常规的"hg commit“命令可用于选择性地选择要提交的内容(您不必在本地工作目录中提交所有挂起的更改)。
如果您有一组如下所示的更改:
M ext-web/docroot/WEB-INF/liferay-display.xml
M ext-web/docroot/WEB-INF/liferay-portlet-ext.xml
M ext-web/docroot/WEB-INF/portlet-ext.xml
您可以使用以下命令提交其中的两个更改:
hg commit -m "partial commit of working dir changes" ext-web/docroot/WEB-INF/liferay-display.xml ext-web/docroot/WEB-INF/liferay-portlet-ext.xml
在命令行中不是很方便,因为您必须手动键入要有选择地提交的文件(而不是像乌龟一样的GUI复选框过程),但是它非常简单,不需要扩展名。文件全局绑定可能有助于减少输入(如上所述,两个提交的文件在它们的路径名中唯一地共享"liferay“。
发布于 2017-02-07 15:28:46
一段时间过去了。现在最好的选择似乎是hg commit --interactive
发布于 2012-01-18 19:44:25
您可以使用随Mercurial一起分发的record extension。
您需要首先在~/.hgrc
文件中启用它,方法是将其添加到[extensions]
部分:
[extensions]
record=
然后,只需输入hg record
而不是hg commit
,您就可以选择要提交哪些文件的哪些更改。
您还可以使用crecord extension,它提供了一个更好的界面来查看和选择更改。(虽然它不是随Mercurial一起发布的,但我偶尔会看到它在提交时搞砸了,所以它不是完全没有bug的。)
https://stackoverflow.com/questions/854930
复制相似问题