Home | Edit | New

Guides: Changing Your Origin feed

Changing Your Origin

If you were hosting your Git repo somewhere else before switching over to GitHub, you will need to change your origin so pushes will go to the new repo.

Changing from repo.or.cz

Many people might be coming from another popular public repository, repo.or.cz, so we’ll use that as an example.

You will need to edit your .git/config file to change the url variable to be the new repo. Where it used to be something like this:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = git+ssh://repo.or.cz/srv/git/myproject.git
        fetch = +refs/heads/*:refs/remotes/origin/*
        push = refs/heads/master:refs/heads/master

You will now have to change it to something like this:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = git@github.com:username/myproject.git
        fetch = +refs/heads/*:refs/remotes/origin/*
        push = refs/heads/master:refs/heads/master

Multi-Origin

‘origin’ is just a default name, there is no actual reason to use it – anything else can be used just as easily. In fact, it’s often helpful to have many remotes that you can push to and/or pull from. Here is an alternate .git/config file that will allow you to push to either github or repo.or.cz as you wish.

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "public"]
        url = git+ssh://repo.or.cz/srv/git/myproject.git
        fetch = +refs/heads/*:refs/remotes/public/*
        push = refs/heads/master:refs/heads/master
[remote "github"]
        url = git@github.com:username/myproject.git
        fetch = +refs/heads/*:refs/remotes/github/*
        push = refs/heads/*:refs/heads/*

That will allow you to run this command to push to your repo.or.cz account:

~: git push public

And this to push to your github account:

~: git push github
Last edited by mattdipasquale, 11 months ago
Versions: