Par Anonyme (non vérifié) , 29 avril 2026

Synopsis

git config --global credential.helper <helper>
git credential fill
git credential approve
git credential reject

Description

The git credential machinery handles authentication for HTTPS remotes. Rather than prompting for a username and password every push, Git delegates to a credential helper that stores credentials securely. Helpers include cache (in-memory for a few minutes), store (plain-text file), osxkeychain (macOS Keychain), manager (Git Credential Manager on Windows/macOS/Linux), and libsecret (Linux GNOME).

You rarely call git credential directly — you configure a helper once, and Git invokes it transparently. Modern setups (especially with GitHub) use OAuth tokens or 2FA-protected personal access tokens stored in a system keyring.

Dans l'usage quotidien, git credential s'intègre étroitement avec les alias de shell, les plugins d'éditeur et l'intégration continue. Les utilisateurs avancés ajoutent souvent des alias combinant les flags qu'ils passent toujours, ou enveloppent la commande dans des scripts qui appliquent les conventions d'équipe. Le formatage de la sortie peut être personnalisé via la configuration Git — pretty formats, schémas de couleurs et comportement du pager sont tous ajustables. Quand quelque chose tourne mal, la première étape de diagnostic est généralement de relancer la commande avec GIT_TRACE=1 dans l'environnement, ce qui révèle les appels de plomberie sous-jacents. Pour les situations inhabituelles, la sortie --help (git credential --help) ouvre la page de manuel complète avec les détails de chaque option, y compris celles rarement utilisées dans les workflows ordinaires mais essentielles pour le débogage ou le scripting à grande échelle.

Comprendre comment git credential interagit avec le reste du modèle de données de Git — la base d'objets, l'index, les refs et l'arborescence de travail — est rentable. Chaque commande opère sur un sous-ensemble de ces pièces, et savoir laquelle elle touche aide à prédire les résultats et récupérer après les erreurs. Lire la documentation officielle de Git en parallèle de la pratique sur un dépôt jetable est la façon la plus rapide d'intérioriser les subtilités. La plupart des problèmes de production avec Git proviennent de l'une de trois causes : comportement par défaut surprenant, opérations réseau partielles, ou réécriture d'historique déjà partagé. Un modèle mental fonctionnel des effets de bord de git credential aide à éviter les trois.

Options courantes

Subcommand / ConfigDescription
credential.helperSet the credential helper to use.
credential.useHttpPathInclude URL path in the lookup key.
fillPlumbing: ask helpers for credentials.
approve / rejectTell helpers an attempt succeeded or failed.
credential.<url>.helperURL-specific helper.
credential.helper "cache --timeout=3600"Configurable in-memory cache.

Exemples

git config --global credential.helper osxkeychain
# macOS: store credentials in Keychain

git config --global credential.helper manager
# Cross-platform: Git Credential Manager

git config --global credential.helper "cache --timeout=3600"
# Cache for one hour in memory

# Per-host helper:
git config --global credential.https://github.com.helper "!gh auth git-credential"
# Use the GitHub CLI as the helper

Erreurs fréquentes

The store helper writes plain text to ~/.git-credentials — fine for throwaway VMs, dangerous on shared machines. Avoid passwords entirely; use personal access tokens or SSH keys for write access. After rotating a token, run git credential reject or clear the cache to force a refresh.

Commandes liées

git config, git push, git fetch, ssh-agent