General discussion

  • Creator
    Topic
  • #3990269

    Is there a way to cache https credentials for pushing commits?

    by pileups-punchy0e ·

    Tags: 

    I recently switched to synchronizing my repositories to https:// on GitHub (due to firewall issues), and it asks for a password every time.

    Is there a way to cache the credentials, instead of authenticating every time that git push?

You are posting a reply to: Is there a way to cache https credentials for pushing commits?

The posting of advertisements, profanity, or personal attacks is prohibited. Please refer to our Community FAQs for details. All submitted content is subject to our Terms of Use.

All Comments

  • Author
    Replies
    • #3990353

      There’s a Reddit for that.

      by rproffitt ·

      In reply to Is there a way to cache https credentials for pushing commits?

    • #3993596

      Reply To: Is there a way to cache https credentials for pushing commits?

      by jinesh.sethia ·

      In reply to Is there a way to cache https credentials for pushing commits?

      Since Git 1.7.9 (released 2012), there is a neat mechanism in Git to avoid having to type your password all the time for HTTP / HTTPS, called credential helpers.

      You can just use one of the following credential helpers:

      git config –global credential.helper cache

      The credential.helper cache value tells Git to keep your password cached in memory for a particular amount of minutes. The default is 15 minutes, you can set a longer timeout with:

      # Cache for 1 hour
      git config –global credential.helper “cache –timeout=3600”

      # Cache for 1 day
      git config –global credential.helper “cache –timeout=86400”

      # Cache for 1 week
      git config –global credential.helper “cache –timeout=604800”

      You can also store your credentials permanently if so desired, see the other answers below.

      GitHub’s help also suggests that if you’re on Mac OS X and used Homebrew to install Git, you can use the native Mac OS X keystore with:

      git config –global credential.helper osxkeychain

      For Windows, there is a helper called Git Credential Manager for Windows or wincred in msysgit.

      git config –global credential.helper wincred # obsolete

      With Git for Windows 2.7.3+ (March 2016):

      git config –global credential.helper manager

      For Linux, you would use (in 2011) gnome-keyring(or other keyring implementation such as KWallet).

      Nowadays (2020), that would be (on Linux)

      Fedora
      sudo dnf install git-credential-libsecret
      git config –global credential.helper /usr/libexec/git-core/git-credential-libsecret

      Ubuntu
      sudo apt-get install libsecret-1-0 libsecret-1-dev
      cd /usr/share/doc/git/contrib/credential/libsecret
      sudo make
      git config –global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git

    • #3993838

      Reply To: Is there a way to cache https credentials for pushing commits?

      by Ada James ·

      In reply to Is there a way to cache https credentials for pushing commits?

      As I read this post, I found it to be very helpful. Thank you for posting it. I enjoyed reading it.

Viewing 2 reply threads