首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Mercurial cherry挑选要提交的更改

Mercurial cherry挑选要提交的更改
EN

Stack Overflow用户
提问于 2009-05-12 21:23:27
回答 6查看 23.5K关注 0票数 60

比方说,我对我的代码做了很多修改,只需要提交其中的一小部分。有没有办法在mercurial中做到这一点?我知道darcs有一个类似这样的特性。

我知道hg transplant可以在分支之间做到这一点,但我需要这样的东西来在present分支中提交代码,而不是在从其他分支添加更改集时。

EN

回答 6

Stack Overflow用户

发布于 2011-12-27 05:08:19

我觉得我漏掉了一些东西,因为还没有人提出这个建议。

常规的"hg commit“命令可用于选择性地选择要提交的内容(您不必在本地工作目录中提交所有挂起的更改)。

如果您有一组如下所示的更改:

代码语言:javascript
复制
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

您可以使用以下命令提交其中的两个更改:

代码语言:javascript
复制
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“。

票数 18
EN

Stack Overflow用户

发布于 2017-02-07 15:28:46

一段时间过去了。现在最好的选择似乎是hg commit --interactive

票数 10
EN

Stack Overflow用户

发布于 2012-01-18 19:44:25

您可以使用随Mercurial一起分发的record extension

您需要首先在~/.hgrc文件中启用它,方法是将其添加到[extensions]部分:

代码语言:javascript
复制
[extensions]
record=

然后,只需输入hg record而不是hg commit,您就可以选择要提交哪些文件的哪些更改。

您还可以使用crecord extension,它提供了一个更好的界面来查看和选择更改。(虽然它不是随Mercurial一起发布的,但我偶尔会看到它在提交时搞砸了,所以它不是完全没有bug的。)

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/854930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档