From: Junio C Hamano Date: Fri, 03 Aug 2012 20:00:36 GMT Subject: Re: need help with syncing two bare repos Message-ID: <7vboirbva3.fsf@alter.siamese.dyndns.org> In-Reply-To: Eugene Sajine writes: > I think the best variant would be to do something like: > > $ git pull --rebase /refs/heads/*:/refs/heads/* > $ git push origin /refs/heads/*:/refs/heads/* You perhaps meant "worst" not "best" here. From the point of view of people who have pushed into the "origin" repository we see above, their history is rewritten; you are screwing half the population by doing this. Not allowing B to accept pushes while it is not positively sure that A has gone down would of course be the best solution (in your scenario, B started serving when it merely found out that *it* cannot contact A), but barring that, the recovery for two histories at A and B, once they diverged, should be to "merge" corresponding branches.