微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用Mercurial快速推动

如何解决如何使用Mercurial快速推动

| 更改本地存储库后,我用
hg commit -m <message>
提交,然后用
hg push
推送到服务器,然后在我的服务器中用
hg update
更新工作目录。 有一个更好的方法吗?     

解决方法

您描述的前两个步骤:
hg commit -m <message>
hg push
根据提交与Mercurial(以及大多数其他DVCS)中的服务器完全分开的事实是必需的。您可以编写一个提交后钩子,以在每次提交后执行推送,但是不建议这样做,因为这会阻止您在提交期间和推送之前纠正简单的错误。 因为您正在尝试在“服务器”上执行更新,所以我假设您正在服务器上的存储库中执行代码的版本。我之所以这样假设,是因为通常服务器仅充当您和您的开发人员可以访问的主存储库(并且还可以进行备份等),并且不需要显式的“ 2”。 假设您正在服务器上执行代码,则可以尝试使用以下命令替换推送和更新:
hg pull <path to development repo> -u
该操作将从本地存储库中提取信息,然后自动进行更新。根据您的服务器配置,可能很难获得本地存储库的路径。     ,对于问题的第一部分(即,在执行提交时自动推送),您可以使用此答案中描述的技巧:在每次提交时进行Mercurial自动推送。 如果要自动更新工作目录,可以使用钩子进行。将其添加到存储库的hgrc中(服务器目录上的6):
[hooks]
changegroup = hg update >&2
每次向该服务器推送时,这将自动更新工作目录。此挂钩在Mercurial常见问题解答中进行了描述。 如果使用这两种解决方案,则下次执行“ 8”时,提交将自动推送到远程服务器,并且服务器上的工作目录将被更新。     ,有一个名为自动同步的扩展,您可能会发现有用:   此扩展提供了autosync命令,该命令可自动连续地提交工作副本更改,从另一个存储库中获取(拉出,合并,提交)更改,并将本地更改推回到另一个存储库中。将配置文件或待办事项列表视为要进行同步的示例。在更高级别上,autosync命令不仅可以同步存储库,还可以同步工作副本。中央存储库(通常没有工作副本)必须用作同步中心:     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。