Sinossi
git config --global credential.helper <helper>
git credential fill
git credential approve
git credential reject
Descrizione
Il macchinario git credential gestisce l'autenticazione per i remote HTTPS. Piuttosto che chiedere username e password ad ogni push, Git delega a un credential helper che memorizza le credenziali in sicurezza. Helper includono cache (in memoria per qualche minuto), store (file in chiaro), osxkeychain (macOS Keychain), manager (Git Credential Manager su Windows/macOS/Linux) e libsecret (Linux GNOME).
Raramente chiami git credential direttamente — configuri un helper una volta e Git lo invoca trasparentemente. Le configurazioni moderne (specialmente con GitHub) usano token OAuth o personal access token protetti da 2FA memorizzati in un keyring di sistema.
Nell'uso quotidiano, git credential si integra con alias e CI.
Capire il modello dati di Git aiuta a prevedere i risultati.
Opzioni comuni
| Sottocomando / Config | Descrizione |
|---|---|
credential.helper | Imposta il credential helper da usare. |
credential.useHttpPath | Include il path dell'URL nella chiave di lookup. |
fill | Plumbing: chiede agli helper le credenziali. |
approve / reject | Dice agli helper se un tentativo è riuscito o fallito. |
credential.<url>.helper | Helper specifico per URL. |
credential.helper "cache --timeout=3600" | Cache in memoria configurabile. |
Esempi
git config --global credential.helper osxkeychain
# macOS: memorizza credenziali in Keychain
git config --global credential.helper manager
# Cross-platform: Git Credential Manager
git config --global credential.helper "cache --timeout=3600"
# Cache per un'ora in memoria
# Helper per host:
git config --global credential.https://github.com.helper "!gh auth git-credential"
# Usa la GitHub CLI come helper
Errori comuni
L'helper store scrive testo in chiaro in ~/.git-credentials — bene per VM usa-e-getta, pericoloso su macchine condivise. Evita le password completamente; usa personal access token o chiavi SSH per accesso in scrittura. Dopo aver ruotato un token, esegui git credential reject o pulisci la cache per forzare un refresh.
Comandi correlati
git config, git push, git fetch, ssh-agent