Store git credentials permanently and encrypted using a keystore in Ubuntu [duplicate]

gnome-credential-helper is now deprecated.

Instead, use libsecret. If it's not already pre-installed on your machine, use the following procedure:

  1. Make sure libsecret and its development libraries are installed:

    sudo apt install libsecret-1-0 libsecret-1-dev
    
  2. Then build the credential helper from the sources shipped with libsecret's development libraries:

    sudo make --directory=/usr/share/doc/git/contrib/credential/libsecret
    
  3. Finally, register the freshly compiled binary as a Git credential helper:

    git config --global credential.helper \
       /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
    

More details on https://stackoverflow.com/a/40312117/2017781


You need to setup the git credential helper with Gnome Keyring:

Install and compile the Gnome Keyring devel:

sudo apt-get install libgnome-keyring-dev
sudo make --directory=/usr/share/doc/git/contrib/credential/gnome-keyring

And setup the credential:

git config --global credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring

This simple approach appears to be sufficient on my Ubuntu 18.04.1 with git 2.17.1:

git config --global credential.helper cache

You can specify a one hour (=3600 seconds) timeout like this:

git config --global credential.helper 'cache --timeout=3600'

Further reading in the fine manual.