Configuration Git sous Windows avec GitHub / GitLab, token et Visual Studio Code

Cette procédure décrit la configuration d'un poste Windows pour travailler avec des dépôts Git hébergés sur GitHub ou GitLab, depuis Git Bash et Visual Studio Code.

La méthode présentée utilise HTTPS et un Personal Access Token (PAT) ou un token équivalent, associé à Git Credential Manager (GCM).

1. Principe général

GitHub et GitLab peuvent utiliser une authentification différente de celle utilisée pour accéder à leur interface Web.

Lorsque l'authentification par mot de passe classique n'est pas disponible, notamment avec le SSO ou la double authentification, un token est utilisé pour les opérations Git en HTTPS.

Visual Studio Code / Git Bash
            |
            | HTTPS
            v
    Git Credential Manager
            |
            | Token
            v
     GitHub ou GitLab

Git Credential Manager permet de gérer les informations d'authentification sans avoir à stocker manuellement le token dans un fichier texte ou dans l'URL du dépôt.

2. Prérequis

3. Choisir GitHub ou GitLab

La procédure Git est quasiment identique pour GitHub et GitLab. La principale différence concerne la création et les permissions du token.

Plateforme Authentification Git HTTPS Token
GitHub HTTPS Personal Access Token
GitLab HTTPS Personal Access Token

4. Créer le token

Le token doit être créé depuis les paramètres du compte de la plateforme utilisée.

4.1 GitHub

Dans GitHub, accéder aux paramètres du compte puis à la gestion des Personal Access Tokens.

GitHub propose notamment les tokens Fine-grained, qui permettent de limiter les permissions à certains dépôts et à certaines opérations.

Pour un usage Git classique, accorder uniquement les permissions nécessaires à la lecture et à l'écriture des dépôts concernés.

4.2 GitLab

Dans GitLab, accéder au profil puis à :

Edit profile
    |
    +--> Access
          |
          +--> Personal access tokens

Pour un usage Git HTTPS classique, le scope write_repository permet les opérations de lecture et d'écriture nécessaires au dépôt.

5. Bonnes pratiques pour le token

Donner au token uniquement les permissions nécessaires.

Pour un usage Git classique :

clone
fetch
pull
push

il faut disposer de droits permettant au minimum la lecture du dépôt et, pour le push, de droits d'écriture.

Bonne pratique : ne pas donner une permission globale de type API lorsque les seules opérations nécessaires sont les opérations Git classiques.

Expiration

Lorsque la plateforme le permet, définir une date d'expiration adaptée à la politique de sécurité de l'organisation.

Stockage du token

ATTENTION : un token est une donnée secrète. Ne jamais le communiquer par email, messagerie instantanée, ticket ou dépôt Git.

Le token complet peut n'être affiché qu'au moment de sa création. Le conserver temporairement dans un gestionnaire de mots de passe ou de secrets si nécessaire.

6. Installer et vérifier Git

Ouvrir Git Bash ou le terminal intégré de Visual Studio Code.

Vérifier la version de Git :

git --version

Exemple :

git version 2.49.0.windows.1

Une version récente de Git pour Windows inclut généralement Git Credential Manager.

7. Vérifier Git Credential Manager

Vérifier sa présence :

git credential-manager --version

Exemple :

2.6.1

Effectuer ensuite un diagnostic :

git credential-manager diagnose

Le résultat doit notamment indiquer que le stockage des credentials fonctionne.

8. Vérifier le credential helper Git

Exécuter :

git config --show-origin --get-all credential.helper

Un résultat contenant :

manager

indique que Git utilise Git Credential Manager.

Exemple :

file:C:/Program Files/Git/etc/gitconfig manager

9. Ne pas créer manuellement .gitcredentials

Lorsque Git Credential Manager est installé et configuré, il n'est pas nécessaire de créer manuellement un fichier .gitcredentials.

Il est déconseillé d'utiliser une configuration qui stocke le token directement dans un fichier texte en clair.

À éviter :

~/.git-credentials

contenant directement un token.

Il est également déconseillé de mettre le token directement dans l'URL du dépôt.

À éviter :

https://username:token@serveur.example/repository.git
Important : ne jamais mettre un Personal Access Token directement dans une commande git clone, une URL Git, un script ou un fichier de configuration versionné.

10. Configurer l'identité Git

Le nom et l'adresse email Git sont utilisés pour identifier l'auteur des commits. Ils sont indépendants du token utilisé pour s'authentifier.

10.1 Vérifier la configuration

git config --global user.name
git config --global user.email

10.2 Configurer le nom

git config --global user.name "Prénom Nom"

10.3 Configurer l'adresse email

git config --global user.email "prenom.nom@example.com"

Utiliser une adresse email reconnue par la plateforme Git utilisée lorsque cela est nécessaire pour associer correctement les commits au compte.

11. Récupérer l'URL HTTPS du dépôt

Ouvrir le dépôt dans GitHub ou GitLab.

Rechercher l'option permettant de cloner le dépôt puis sélectionner HTTPS.

Une URL peut ressembler à :

https://github.com/organisation/projet.git

ou :

https://gitlab.example.com/groupe/projet.git

L'URL exacte dépend de la plateforme et du serveur utilisé.

12. Créer un répertoire local

Créer un répertoire destiné aux dépôts Git.

Exemple :

mkdir ~/Github

Se positionner dans le répertoire :

cd ~/Github

Le nom du répertoire est libre. Il peut par exemple être :

~/Github
~/Git
~/Repositories
~/Dev

13. Cloner un dépôt

Utiliser l'URL HTTPS fournie par GitHub ou GitLab.

Exemple GitHub :

git clone https://github.com/organisation/projet.git

Exemple GitLab :

git clone https://gitlab.example.com/groupe/projet.git

Git peut alors demander les informations d'authentification.

14. Authentification avec le token

Lors de la première connexion, Git Credential Manager peut ouvrir une fenêtre d'authentification.

Si Git demande directement les credentials dans le terminal :

Champ Valeur
Username Nom d'utilisateur du compte
Password Personal Access Token
Attention : dans le champ Password, saisir le token et non le mot de passe du compte.

15. Fonctionnement de Git Credential Manager

Lors du premier accès :

git pull / git clone
        |
        v
Git Credential Manager
        |
        v
Authentification
        |
        v
Stockage sécurisé des credentials

Lors des accès suivants :

git pull / git push
        |
        v
Git Credential Manager
        |
        v
Credential déjà enregistré
        |
        v
Serveur Git

Le token n'a donc normalement pas besoin d'être saisi à chaque opération.

16. Vérifier le dépôt cloné

Entrer dans le répertoire du dépôt :

cd projet

Vérifier l'URL du dépôt distant :

git remote -v

Exemple :

origin  https://github.com/organisation/projet.git (fetch)
origin  https://github.com/organisation/projet.git (push)

Ou avec GitLab :

origin  https://gitlab.example.com/groupe/projet.git (fetch)
origin  https://gitlab.example.com/groupe/projet.git (push)

17. Tester le pull

git pull

Si le dépôt est déjà à jour :

Already up to date.

Sinon, Git récupère les modifications disponibles sur le serveur.

18. Tester le statut du dépôt

git status

Exemple de résultat :

On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean

19. Modifier un fichier

Modifier normalement les fichiers du projet avec Visual Studio Code.

Après modification, vérifier l'état :

git status

Les fichiers modifiés apparaissent alors dans la liste des changements.

20. Ajouter les modifications

Ajouter un fichier précis :

git add fichier.txt

Ajouter toutes les modifications :

git add .

Vérifier ensuite :

git status

21. Créer un commit

git commit -m "Description de la modification"

Utiliser un message de commit suffisamment explicite pour comprendre la modification effectuée.

22. Envoyer les modifications

git push

Git envoie alors les commits locaux vers le dépôt distant.

23. Workflow Git quotidien

# Récupérer les dernières modifications
git pull

# Vérifier l'état du dépôt
git status

# Modifier les fichiers

# Ajouter les modifications
git add .

# Créer le commit
git commit -m "Description de la modification"

# Envoyer les modifications
git push

24. Utiliser Git avec Visual Studio Code

Visual Studio Code utilise directement l'installation Git présente sur le poste.

Il n'est donc pas nécessaire d'installer un deuxième Git uniquement pour VS Code.

24.1 Ouvrir un dépôt

Depuis Git Bash :

cd ~/Github/projet
code .

Le dépôt est alors ouvert dans Visual Studio Code.

24.2 Source Control

Dans Visual Studio Code, sélectionner l'icône Source Control dans la barre latérale gauche.

Les fichiers modifiés apparaissent dans la section Changes.

24.3 Stage / git add

Cliquer sur le bouton + à côté d'un fichier permet de le placer dans la zone de staging.

Cela correspond à :

git add fichier

24.4 Commit

Entrer le message de commit puis sélectionner Commit.

Cela correspond à :

git commit -m "Description de la modification"

24.5 Pull

Utiliser l'action Pull disponible dans les commandes Git de Visual Studio Code.

Équivalent terminal :

git pull

24.6 Push

Utiliser Push ou Sync Changes, selon la version de Visual Studio Code.

Équivalent terminal :

git push

25. Correspondance VS Code / Git

Action dans VS Code Commande Git
Afficher les changements git status
Stage d'un fichier git add fichier
Stage de tous les fichiers git add .
Commit git commit -m "..."
Pull git pull
Push git push

26. Plusieurs dépôts

Il est possible d'utiliser le même compte et le même mécanisme d'authentification pour plusieurs dépôts accessibles avec ce compte, dans la limite des permissions accordées au token.

Exemple :

Github/
├── projet-a/
├── projet-b/
├── projet-c/
└── projet-d/

Chaque dépôt possède son propre répertoire .git.

Le répertoire .git est créé automatiquement par Git lors d'un git clone.

27. Fichiers et éléments à ne pas créer manuellement

Élément Action
.git Ne pas créer manuellement. Git le crée automatiquement.
.gitcredentials Ne pas créer manuellement lorsque Git Credential Manager est utilisé.
Token dans une URL À éviter.
Token dans un script À éviter.
Token dans un dépôt Git Interdit.

28. Vérification complète de la configuration

Les commandes suivantes permettent de vérifier la configuration du poste :

# Version Git
git --version

# Version Git Credential Manager
git credential-manager --version

# Diagnostic Git Credential Manager
git credential-manager diagnose

# Credential helper utilisé
git config --show-origin --get-all credential.helper

# Identité Git
git config --global user.name
git config --global user.email

# Remote du dépôt
git remote -v

# Etat du dépôt
git status

29. Dépannage

29.1 Git demande le token à chaque opération

Vérifier le credential helper :

git config --show-origin --get-all credential.helper

Vérifier également Git Credential Manager :

git credential-manager diagnose

Si le stockage des credentials est fonctionnel mais que l'authentification est systématiquement redemandée, vérifier l'URL du remote et les credentials enregistrés pour le serveur concerné.

29.2 Le token est refusé

Vérifier :

29.3 Le pull fonctionne mais le push échoue

Ce cas indique généralement un problème de droits d'écriture.

Vérifier les permissions du token et les droits du compte sur le dépôt.

29.4 Vérifier l'URL du dépôt

git remote -v

Vérifier que l'URL correspond bien au dépôt attendu et utilise HTTPS.

30. Sécurité

31. Extension GitHub / GitLab pour Visual Studio Code

Les opérations Git classiques ne nécessitent pas obligatoirement l'extension spécifique à la plateforme.

Pour :

clone
pull
add
commit
push

Git + Git Credential Manager + Visual Studio Code suffisent.

Les extensions GitHub ou GitLab peuvent être ajoutées pour bénéficier de fonctionnalités supplémentaires propres à la plateforme, comme les Pull Requests, Merge Requests, Issues ou Pipelines.

Les permissions nécessaires au token peuvent alors être différentes de celles nécessaires uniquement pour les opérations Git.

32. Architecture recommandée

                         GitHub / GitLab
                               ^
                               |
                             HTTPS
                               |
                               |
                    Git Credential Manager
                               ^
                               |
                               |
                     Git / Visual Studio Code
                               ^
                               |
                               |
                         Repository local

33. Workflow recommandé

                         SERVEUR GIT
                       GitHub / GitLab
                              ^
                              |
                            push
                              |
                         ┌────┴────┐
                         │  COMMIT │
                         └────┬────┘
                              ^
                              |
                           git add
                              ^
                              |
                         MODIFICATIONS
                              ^
                              |
                           git pull
                              |
                              v
                         SERVEUR GIT

34. Résumé

Pour travailler avec GitHub ou GitLab sous Windows, la configuration recommandée est :

Git
 +
HTTPS
 +
Personal Access Token
 +
Git Credential Manager
 +
Visual Studio Code

Une fois la configuration terminée, le workflow quotidien se limite généralement aux commandes suivantes :

git pull

git add .

git commit -m "Description de la modification"

git push
Configuration recommandée : utiliser HTTPS avec un token disposant des permissions minimales nécessaires, laisser Git Credential Manager gérer l'authentification et ne jamais stocker manuellement le token dans .gitcredentials, une URL, un script ou un dépôt Git.

Revision #2
Created 2026-09-02 13:11:01 UTC by Nico là
Updated 2026-09-02 13:14:52 UTC by Nico là