Jak zaktualizować git clone -- mirror?
Utworzyłem repozytorium git, aby odzwierciedlać aktywną witrynę (która jest nie-gołym repozytorium git):
git clone --mirror ssh://[email protected]/path/to/repo
Teraz, aby aktualizować ten klon lustrzany ze wszystkimi zmianami od jego zdalnego pochodzenia, jakie polecenie lub polecenia muszę użyć?
Chciałbym aktualizować wszystko: commity, refy, Hooki, gałęzie itp.
Dzięki!3 answers
Jest to polecenie, które musisz wykonać na lustrze:
git remote update
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-27 11:12:19
Jeśli chodzi o commity, refy, gałęzie i "i tak dalej ", odpowiedź Magnusa po prostu działa (Git remote update).
Ale niestety nie ma sposobu na sklonowanie / mirror / update hooków , tak jak chciałem...
Znalazłem bardzo ciekawy wątek o klonowaniu / dublowaniu haczyków:
Http://kerneltrap.org/mailarchive/git/2007/8/28/256180/thread
Nauczyłem się:
"Hooki" nie są uważane za część repozytorium zawartość.
Jest więcej danych, jak".Git / description" folder, który nie jest sklonowany, podobnie jak Hooki.
-
Domyślne Hooki wyświetlane w katalogu "Hooki" pochodzą z katalogu TEMPLATE_DIR
Jest taka ciekawa funkcja "template" na Gita.
Więc mogę albo zignorować to "clone the hooks thing", albo przejść do rsync
strategii, biorąc pod uwagę cele mojego mirrora (kopia zapasowa + źródło dla innych klonów, tylko).
- Sehe właśnie zauważył, że nie tylko" Hooki " nie są zarządzane przez proces klonowania / aktualizacji, ale także stashes, rerere itp... Tak więc w przypadku ścisłej kopii zapasowej rsync lub odpowiednik byłby naprawdę dobrym rozwiązaniem. Ponieważ nie jest to naprawdę konieczne w moim przypadku (mogę sobie pozwolić na brak haczyków, stashów itp.), jak powiedziałem, będę trzymać się "Zdalnego update".
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-15 14:05:44
Zobacz tutaj: Git nie klonuje wszystkich gałęzi na kolejnych klonach?
Jeśli naprawdę tego chcesz, ciągnąc gałęzie zamiast push --mirror
, Możesz zajrzeć tutaj:
"fetch --all" w repozytorium Git bare nie synchronizuje lokalnych gałęzi ze zdalnymi
Ta odpowiedź zawiera szczegółowe kroki, jak to osiągnąć stosunkowo łatwo:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:54