2010-10-01 54 views
9

如何在Mercurial和Git中配置自動推送? 有時我忘了推入電腦,當我移動我的位置時,我與優秀的代碼不同步。例如,有沒有辦法讓mercurial和git每隔一小時做一次?如何配置自動推送?

+5

這是這裏值得一提的是,這是一個更好的主意,剛剛學會推。每次提交之後,你都不想推。如果你這樣做,你會破壞一些git最好的工具 - 你可以從rebase,'commit -amend'和其他偉大的歷史編輯工具中解脫出來。 – Daenyth 2010-10-01 16:14:20

+0

只是注意到我們的團隊領導堅持讓開發人員的本地存儲庫鏡像在服務器上,僅僅是爲了進行實時備份;他們實際上並不是我們日常工作的一部分。 – rvalue 2012-01-20 04:22:50

+0

打開你的想法。即使我一個人工作,我也使用源代碼控制。我在不同的電腦上工作。 – 2014-09-23 18:35:48

回答

9

在善變的你把這個在您的.hg/hgrc

[hooks] 
commit = hg push 
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每小時執行一次該腳本。

更新

水銀有鉤過(當然)。這裏是relevant documentation。我沒有使用Mercurial,所以你必須自己解決。

+3

'-f'是相當危險的。不要這樣做。 – Reactormonk 2010-10-01 13:21:09

+0

@Tass:已更新。謝謝。 – 2010-10-01 13:21:54

+2

- 鏡子非常危險,我不確定這是你想要的。如果你不是最新的,你會壓制其他人的變化。 – jnorris 2012-04-07 21:54:52