How to change git ssh user for a remote push temporarily?

前端 未结 5 1196
甜味超标
甜味超标 2020-11-30 02:11

Is it possible to change the ssh user temporarly for a \"git push remote master\" without messing up with .git/config or \"git remote\", or using the whole remote url?

相关标签:
5条回答
  • 2020-11-30 02:53

    For Windows User: Follow Instructions:

    Control Panel >> User Account >> Credential Manager >> Windows Credential >> Generic Credential

    You can change git credential:

    click modify>>provide uname and password

    Or you can remove git credential. Next time when you'll push repo, it'll ask you for credential.

    0 讨论(0)
  • 2020-11-30 02:54

    The ssh address registered with git remote probably already include the user name, so you would need to use a complete ssh url like:

    otheruser@remote:arepo
    

    That won't work, because ssh will use the default public/private keys (currently used by the first user for authentication).

    You can register a new remote in your local config:

    # use the current ssh address registered for origin, changing just the user
    # but you need a config file
    git remote add originOtheruser otheruser:arepo
    

    You must have a $HOME/.ssh/config file, in order to define the ssh entry 'otheruser', because ssh needs to know what public/private key it needs to use: it cannot be the default ones ($HOME/.ssh/id_rsa and $HOME/.ssh/id_rsa.pub)

    See for instance "how to add deploy key for 2 repo with 1 user on github"

    Host otheruser
    HostName remote
    User otheruser
    IdentityFile ~/.ssh/otheruser
    

    That supposes you have stored the public/private keys for otheruser as:

    $HOME/.ssh/otheruser
    $HOME/.ssh/otheruser.pub
    

    Now, you can use that new remote to push:

    git push originOtheruser master
    
    0 讨论(0)
  • 2020-11-30 02:59

    Have you tried using the whole remote URL?

    git push ssh://<temp_user>@<host>/<repo_path> <local_branch>:<remote_branch>
    

    and you will be prompted to provide the password

    0 讨论(0)
  • 2020-11-30 03:02

    Once you've done the commit, you can use the following syntax:

    git push https://<username>@github.com/<github repository> <local branch name>:<remote branch name>
    

    You'll be asked for your github password to process the push.

    For example, if your github username is "foobar", the repository clone url is "https://github.com/bar/ish.git", and the local and remote branches are named "nonce", you can use the following:

    git push https://foobar@github.com/bar/ish.git nonce:nonce
    
    0 讨论(0)
  • 2020-11-30 03:04

    I use

    git push https://github.com/${userName}/${repoName}
    

    It will prompt you to input username and password

    0 讨论(0)
提交回复
热议问题