有选择地创建Mercurial patch
在使用mercurial的过程中,有时我们需要基于当前修改的文件的一部分来创建patch。举例来说,在修改了多个文件之后,你忽然发现其中的几处修改属于一个重构,而另一些修改则是在添加新的功能。你想把重构的那部分修改独立出来,这样你就可以自由选择什么时候提交重构,什么时候提交新功能了。
一种解决办法是创建patch。hg qnew命令提供了-X和-I参数来指定哪些文件中的修改应该被排除或者添加到patch之中。
比如,你目前已经改动了file1和file2,而你只想把file1的修改纳入patch之中。那么就可以执行:
hg qnew -m ‘patching changes to file1…’ -f mod_file1.diff -I file1 或者:hg qnew -m ‘patching changes to file1…’ -f mod_file1.diff -X file2 你也可以用下面的命令来达到同样的效果:hg qnew -m ‘patching changes to file1…’ -f mod_file1.diff file1 这样生成的patch就只包含对file1的修改了。