Как я могу использовать Git комплектные файлы для непрерывного зеркалирования чистого репо? - PullRequest
1 голос
/ 04 марта 2020

У меня есть пустой Git репозиторий в одной сети, в которой много филиалов. Я хотел бы периодически передавать новые коммиты из этого исходного хранилища Git в зеркало в другой, не подключенной сети. Я могу запустить этот процесс, используя git bundle:

# Export entire repo to a bundle file on network 1.
git bundle create repo.bundle --all
# Copy bundle file to network 2.
# ...
# On network 2, clone the bundle file to create a new bare repo from it.
git clone --mirror /path/to/repo.bundle

Это работает! Однако я хотел бы периодически экспортировать новые коммиты / ветки из сети 1 и передавать их в зеркало хранилища в сети 2. То есть, если я сделаю новый пакет позже:

# Time passes.
# Create a new bundle to get the new state of the repo. I could use --since arguments here
# to reduce the bundle size, but I won't do that here for brevity.
git bundle create repo-updated.bundle --all
# Copy bundle file to network 2.
# ...
# On network 2, how do I pull the new commits/branches into the bare repo mirror?

I Я не уверен, как "обновить" состояние чистого репо в сети 2, учитывая новый файл пакета. Я попытался git remote update, но это похоже на fetch только изменения, и он фактически не обновляет ни одну из ветвей в голом репо в сети 2. Есть ли одна команда, которую я могу запустить, используя обновленный файл пакета чтобы вернуть репо в сети 2 в то же состояние, в котором он находился в сети 1?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...