2010-10-01 15 views
9

Jak skonfigurować automatyczne wypychanie w Mercurial i Git? Czasami zapomniałem wepchnąć komputer, a kiedy przenosiłem swoją lokalizację, straciłem synchronizację z dobrym kodem. Czy na przykład sposób na rtęć i git robi to co godzinę?Jak skonfigurować automatyczne pchanie?

+5

Warto zauważyć tutaj, że jest to lepszy pomysł, aby dowiedzieć się tylko do pchania. Naprawdę nie chcesz naciskać po każdym zatwierdzeniu. Jeśli to zrobisz, złamiesz niektóre z najlepszych narzędzi gita - odcinasz się od rebase, 'commit --amend' i innych wspaniałych narzędzi do edycji historii. – Daenyth

+0

Po prostu zwracając uwagę, że nasz zespół prowadzi z naciskiem na przechowywanie lokalnych repozytoriów na serwerze, tylko po to, żeby mieć kopię zapasową na żywo; w rzeczywistości nie są częścią naszego codziennego procesu. – rvalue

+0

Otwórz swoje umysły. Używam kontroli źródła, nawet gdy pracuję sam. Pracuję na różnych komputerach. –

Odpowiedz

9

W Mercurial chcesz umieścić to w swojej .hg/hgrc

[hooks] 
commit = hg push 
20

Z git możesz użyć haka post-commit, aby naciskać po każdym zatwierdzeniu. Aby to zrobić, musisz dodać wykonywalny skrypt post-commit w swoim katalogu .git/hooks. Dla np.

#!/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 

Gdzie remote odnosi się do nazwy zdalnego repo, które są do pchania.

Można również ustawić cron, aby wykonać ten skrypt co godzinę, jeśli chcesz.

Aktualizacja

Mercurial ma haki też (ale oczywiście). Oto relevant documentation. Nie użyłem Mercurial, więc sam musisz to wypracować.

+3

'-f' jest dość niebezpieczne. Nie rób tego. – Reactormonk

+0

@Tass: zaktualizowano. Dzięki. –

+2

--mirror jest bardzo niebezpieczny i nie jestem pewien, czy tego chcesz. Jeśli nie jesteś na czasie, zmiażdżysz inne zmiany. – jnorris

Powiązane problemy