I was moving some more repositories off GitHub this afternoon. You’d have to disappear into the mountains if you refused to use things made by anyone you didn’t 100% agree with, but the effort to change easily passes the threshold considering the ghastly things they’re proud to take money to host.

Turns out I’d already migrated some repos a few months earlier, and forgot to change the origin URL. I’d still been committing changes to GitHub and didn’t notice. Whoops!

So now I had an updated repo on GitHub, and stale repo at my target that I wanted to use. How to merge the changes on the GitHub version back into the target? Smar had the perfect answer for this use case:

$ git clone $TARGET_REPO_URL
$ cd $TARGET_REPO_NAME
$ git fetch $GITHUB_REPO_URL master:merging
$ git merge --allow-unrelated-histories merging
$ git commit

Some of this is going to my GitLab for now while I finish building my new FreeBSD services box. I might be setting up an OrionVM VM with jails for WebDAV/CalDAV, Git, Subversion, and Minecraft. But you didn’t read that last one yet.