Вопрос

I have a remote git repository with big history and slow connection channel. Where are some local users, and slow push/pull after big commits or cloning from scratch for new users are big problems, now. I want to create local mirror of it. Local changes must be committed to local repo, and sync with remote in background. I understand that this problem is in demand, but I have not found any solution yet (I am not admin of remote repo, I just try to simplify local work with it).

Это было полезно?

Решение

Since you write in the comments that the people behind the slow connection would be doing most of the work, I would suggest you setup the slow remote site to be a mirror of your local repo you would commit against.

First make a bare clone of slow remote on a local server

$ git clone --bare git://slow/repo.git

You local people should now only commit to that clone, not the slow remote.

Then set up a cron job or something similar to push changes in your local repo to the slow site with

$ git push origin --mirror

By using --mirror you tell git to push all branches and tags.

Другие советы

You should be able to make shallow clones with

git clone --depth=20 url-to-your-repo some-path

This should allow you to not bother with most of the history.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top