How do i switch between different users(github accounts) when pushing repositories?

Here is the problem I run into.

First of all, I’m working on several different projects.
I’ve got two different github accounts, and after setting up one of them and successfully pushing a repo to it, I needed to commit/push the other repo to the second account which got me to the exact problem.

  • Option to push disabled in Visual Studio Code
  • Git for Perforce users
  • How to use only the default git port with
  • git rebase basics
  • Git merge submodule into parent tree cleanly and preserving commit history
  • Is there any way to clone a git repository without a specific directory?
  • How do I switch between these two accounts using https way and not ssh?

    P.S: I’m on Mac.

    I’ve tried to change git config global/local user names and emails, but it didn’t work out. I keep getting the same error which is:

    ” remote: Permission to name/repo.git denied to User.
    fatal: unable to access ‘repos address’ : The requested URL returned error: 403″.

  • fatal: bad object HEAD
  • git diff shows ^M with color ui true
  • git pull error :error: remote ref is at but expected
  • Git Bash (1.9.0) using Windows Explorer intergration crashes folder explorer
  • what git function allows me to approve/deny each change a commit will make?
  • Replace the contents of one directory in GIT
  • One Solution collect form web for “How do i switch between different users(github accounts) when pushing repositories?”

    You will need to use different ssh keys.

    Read this full documents and follow the steps.

    Multiple SSH Keys settings for different github account:

    create different public key

    create different ssh key according the article Mac Set-Up Git

    $ ssh-keygen -t rsa -C ""

    for example, 2 keys created at:


    Add these two keys to the ssh-agent:

    $ ssh-add ~/.ssh/id_rsa_activehacker
    $ ssh-add ~/.ssh/id_rsa_jexchan
    you can delete all cached keys before
    $ ssh-add -D

    check your keys

    $ ssh-add -l

    Modify the ssh config

    $ cd ~/.ssh/
    $ touch config
    $ subl -a config

    Add the keys to the config file:***

    #activehacker account
    User git
    IdentityFile ~/.ssh/id_rsa_activehacker
    #jexchan account
    User git
    IdentityFile ~/.ssh/id_rsa_jexchan

    Clone you repo and modify your Git config

    # clone your repo 
    git clone gfs_jexchan
    cd gfs_jexchan and modify git config
    $ git config "jexchan"
    $ git config "" 
    $ git config "activehacker"
    $ git config "" 
    # or you can have global 
    git config $ git config --global "jexchan" 
    git config --global ""

    push your code

    # add the code and commit it
    git add .
    git commit -m "your comments"
    # push the code to the remote server
    git push
    Git Baby is a git and github fan, let's start git clone.