Domanda

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).

È stato utile?

Soluzione

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.

Altri suggerimenti

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top