Storing username and password in Git

git
136,236

Solution 1

Actually what you did there is setting up the author information, just for the commits. You didn't store the credentials. credentials can be stored in 2 ways:

  1. using the git credential functions: https://git-scm.com/docs/git-credential-store
  2. change the origin url to "https://username:[email protected]".
  3. a third alternative is to use an ssh key (as @StephenKitt said). For github configuration, you can find all needed information in GitHub help page

Solution 2

In Terminal, enter the following to enable credential memory:

$ git config --global credential.helper cache

You may update the default password cache timeout (in seconds):

# This cache timeout is in seconds
$ git config --global credential.helper 'cache --timeout=3600' 

You may also use (but please use the single quotes, else double quotes may break for some characters):

$ git config --global user.name 'your user name'
$ git config --global user.password 'your password'

Solution 3

Copied this from git scm

$ git config credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>
[several days later]
$ git push http://example.com/repo.git

[your credentials are used automatically]

Solution 4

In linux (Ubuntu 18.04) the username / password can be saved in the file ~/.git-credentials, just edit the file to use your new username / password.

The file format is quiet easy to understand and manipulate, each line contains credentials for one user / domain, in the following format:

https://<username>:<password>@github.com
https://<username2>:<password2>@bitbucket.com
...
Share:
136,236

Related videos on Youtube

GypsyCosmonaut
Author by

GypsyCosmonaut

Updated on September 18, 2022

Comments

  • GypsyCosmonaut
    GypsyCosmonaut over 1 year

    When I do

    git push
    

    I get the command prompt like

    Username for 'https://github.com':
    

    then I enter my username manually like

    Username for 'https://github.com': myusername
    

    and then I hit Enter and I get prompt for my password

    Password for 'https://[email protected]':
    

    I want the username to be written automatically instead of manually having to type it all the time.

    I tried doing it with xdotool but it didn't work out.

    I have already done

    git config --global user.name myusername
    git config --global user.email [email protected]
    

    but still it always asks for me to type manually

    • Diego Roccia
      Diego Roccia almost 7 years
      you know you can store credentials with git, right?
    • GypsyCosmonaut
      GypsyCosmonaut almost 7 years
      @DiegoRoccia yes, mentioned that as well in the question, but it doesn't help.
    • Oleg Rudenko
      Oleg Rudenko about 5 years
      You can use as git config credential.helper store described here: stackoverflow.com/questions/11403407/… In this case you do not store the password in clear text in the origin URL, but in a file in you profile. (Also not encrypted)
  • kodmanyagha
    kodmanyagha about 4 years
    adding username and password to origin url is not good becouse of security reasons but if you feel yourself in secure then this is best path.
  • R. Gurung
    R. Gurung almost 4 years
    how to cache forever?
  • user2971806
    user2971806 over 3 years
    @R.Gurung Use git config credential.helper 'store in that case, but be aware that this stores your git credentials on disk in plain-text, without any encryption whatsoever. (~/.git-credentials)
  • Albert Renshaw
    Albert Renshaw about 3 years
    Note, the above snippet should be --global flagged as well and close its opening ' such that it reads: git config --global credential.helper 'store'
  • PlasmaBinturong
    PlasmaBinturong about 2 years
    If you want the config to be specific of a website (e.g. only for github.com, but not gitlab), you have to use git config credential.https//github.com ... instead of git config credential.helper ...