如何配置自动推送?

10

如何配置Mercurial和Git的自动推送? 有时我会忘记在计算机上推送代码,当我移动位置时,我的代码就不再与最新版本同步了。是否有一种方法可以让Mercurial和Git每小时自动推送代码?


5
这里值得注意的是,学会推送代码是更好的选择。你真的不想在每次提交之后都进行推送。如果这样做,你将破坏 Git 的一些最佳工具——你将无法使用rebase、commit --amend以及其他优秀的历史编辑工具。 - Daenyth
只是想指出,我们的团队领导坚持要求开发人员的本地存储库在服务器上进行镜像,仅仅是为了拥有实时备份;它们并不是我们日常工作流程的一部分。 - rvalue
打开你们的思维。即使我独自工作,我也使用源代码控制。而且我在不同的电脑上工作。 - John John Pichler
有时候使用自动推送对我来说很方便。之后我会关闭它。 - John John Pichler
2个回答

20

使用 git ,你可以使用 post-commit 钩子在每次提交后进行推送。要实现这一点,您需要在 .git/hooks 目录中添加一个可执行的 post-commit 脚本。例如:

#!/bin/sh
#
# An example hook script that is called after a successful
# commit is made.
#
# To enable this hook, rename this file to "post-commit".

git push --mirror remote 

“remote”是指你要推送到的远程仓库的名称。

如果您希望如此,还可以设置cron每小时执行此脚本。

更新

Mercurial也有钩子(当然)。 这里是相关文档。 我没有使用过Mercurial,所以您需要自己解决它。


3
“-f”非常危险,请勿使用。 - Reactormonk
3
“mirror”非常危险,我不确定这是否是您想要的。如果您不更新,就会覆盖其他人的更改。 - jnorris

9
在Mercurial中,您需要将此放置在您的.hg/hgrc文件中。
[hooks]
commit = hg push

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接