The Problem
How can you save the username and password for a remote repository in Git so that you don’t have to enter credentials every time you push to it?
The Solution
You can use git config
to save credentials for remote repositories on a global or per-repository basis. Follow these steps:
First, navigate to your repository and enter the following commands:
git config --global credential.helper store
git pull
When prompted, enter your username and password. Git will store these credentials and use them for future interactions. The --global
flag tells Git to store them in the .git-credentials
file in your home directory, making them available for all repositories. If you prefer to save credentials for only the current repository, omit the --global
flag:
git config credential.helper store
git pull
Important Security Note
The .git-credentials
file is not encrypted, so any usernames and passwords stored in it will be accessible to anyone with access to your user account on your device. For better security, consider using SSH keys for Git remote access instead of HTTPS. This way, you avoid storing plain text credentials and enhance security.
Using SSH for Git Remote Access
- Generate SSH Key (if not already done):
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Follow the prompts to save the key in the default location and optionally set a passphrase. - Add SSH Key to the SSH Agent:
eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
- Add SSH Key to Your Git Provider:
Copy the SSH key to your clipboard:cat ~/.ssh/id_rsa.pub
Then, add it to your Git provider (GitHub, GitLab, Bitbucket, etc.) under your account settings for SSH keys. - Update Git Remote URL:
Change the remote URL to use SSH instead of HTTPS:sh git remote set-url origin [email protected]:username/repository.git
By using SSH, you can securely authenticate without repeatedly entering your username and password.