Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为mercurial编写一个智能推送,在推送之前进行拉合并?_Mercurial - Fatal编程技术网

如何为mercurial编写一个智能推送,在推送之前进行拉合并?

如何为mercurial编写一个智能推送,在推送之前进行拉合并?,mercurial,Mercurial,我想为hg push创建一个别名,这样它就可以自动执行hg pull,hg merge,hg commit和hg push 显然,如果出现任何问题,比如合并冲突,它将停止 到目前为止,我写了这篇文章,但是当你没有任何东西可以拉的时候,它就不起作用了: hg pull-u&&hg merge&&hg ci-m“merge”和&hg push 当您没有要合并的内容时,它将失败: 中止:没有要合并的内容名为的内置扩展执行所有这些操作,但推送: 在最简单的情况下,hgfetch的作用类似于hgpull-

我想为
hg push
创建一个别名,这样它就可以自动执行
hg pull
hg merge
hg commit
hg push

显然,如果出现任何问题,比如合并冲突,它将停止

到目前为止,我写了这篇文章,但是当你没有任何东西可以拉的时候,它就不起作用了:

hg pull-u&&hg merge&&hg ci-m“merge”和&hg push

当您没有要合并的内容时,它将失败:


中止:没有要合并的内容

名为的内置扩展执行所有这些操作,但推送:

在最简单的情况下,hgfetch的作用类似于
hgpull-u
——它将远程存储库中的更改拉入本地存储库,并更新工作目录。(这类似于Subversion或CVS中的“update”命令。)

如果拉取的更改需要合并,则获取扩展将尝试执行
hg merge
,然后执行
hg commit

启用扩展,然后执行以下操作:

$ hg fetch && hg push

不过,考虑做ReBASE(快速向前合并),而不是常规合并。这有助于保持沿袭不受无休止的“合并”提交的影响,如果您保持原始变更集,则与常规合并一样安全

事实上,在处理单个任务时,我通常的工作流程如下:

# edit some files, test
$ hg commit
# edit some more files, test
$ hg commit
$ hg pull --rebase
$ hg push