如何解决合并在Mercurial中时,忽略不存在的文件
|| 我正在使用具有稳定和实验分支的存储库。有时我在实验分支上添加了尚未准备好用于稳定分支的文件。合并时,我想合并两个分支共有的文件中的更改,但忽略其中一个分支上不存在的文件。 这是一个简单的示例:hg init
hg branch stable
(create file A)
hg add A
hg commit -m \"Added A\"
hg branch exp
(create file B)
hg add B
hg commit -m \"Added B,which is really experimental\"
(modify file A)
hg commit -m \"Some changes to A\"
hg update stable
hg merge exp
但是我更改了合并工具的配置,Mercurial似乎总是将B与合并一起使用。由于它在稳定分支上不存在,因此永远不会发生冲突。
我可以执行以下操作:
hg update stable
hg merge exp
hg commit -m \"Merged\"
hg revert -r 0 B
但这需要我知道哪些文件需要还原。
关于使合并忽略一个分支上不存在的文件的最简单方法的任何想法,最好自动执行?
解决方法
您不能要求Mercurial做您想做的事。
您不合并单个文件,而是合并整个分支,这意味着分支中的所有文件都成为合并的一部分。这就是Mercurial的设计方式和运行方式。
现在,您可以在提交前还原/忘记/删除不需要的文件,但是稍后您将自己设置为灾难。
我建议您将要保留的内容与不知道是否要保留的内容分开,以便可以合并一个分支,而现在将另一个分支分开。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。