Tags are going to be ugly, but branches can simply be merged like any other.
Alternatively you decide the one of the repositories is the primary one, set up a remote called `mirror` and set-up a `post-receive` hook to:
git push --mirror mirror
Now just ensure no one pushes into the mirror directly. Of course this only works if you control the primary repository.Wasn't the original point to be able to push to the second copy when the first is down .. what's the point (other than backup) of a second "working" copy that you can't use.
A repo admin or script could enable pushing permissions to the mirror while the primary is down. The when the primary is back up, fast-forward it and change back. Or, just allowing pulling from it and wait to merge until the primary is fixed.
Branches: Let each branch owner deal with that. They likely have the most information about it. Create a new temporary branch, merge both sides into it and see what happens.
Tags: Don't have a process which can result in tags pushed into different places. It's a path to madness. Same applies to master/release branches.
Re:GitHub is down
by heinrichhartman on Friday July 26, 2019 @06:49AM
(#20533816)
> Same applies to master/release branches.
Yes. This was the case I had in mind. Path to madness.
I have two git repositories which somehow got into an inconsistent state: How can I reconcile changes in both repositories and resolve conflicts between mutable-metadata (branches, tags) in a sane way?