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