📦 Git & GitHub – Installation & Workflow
Installer Git localement, créer le dépôt GitHub (remote), sécuriser l’accès (PAT / .netrc / SSH) et pousser son code.
Git vs GitHub
Différence entre l’outil de versionnage (Git) et la plateforme d’hébergement (GitHub).
Installer Git
Windows (Git Bash), Linux (apt), macOS (brew). Vérifier la version.
Créer le dépôt GitHub
Depuis GitHub → New repo → nom → private/public → Create.
Token (PAT)
GitHub n’accepte plus les mots de passe : on génère un token avec le scope repo.
Fichier .netrc
Pour ne plus saisir le token à chaque git clone sur ton laptop.
Cloner le dépôt
Télécharger le code GitHub sur le poste local et commencer à travailler.
Workflow de base
status → add → commit → push. Ce que font 95% des devs au quotidien.
Connexion SSH
Alternative au PAT : on génère une clé et on clone en SSH.
Dépannage
Fenêtre d’auth qui revient, 401, mauvais remote, credential Windows.
Rôle de Git
Git est un outil local de gestion de versions :
- Crée un historique des modifications
- Permet de revenir en arrière
- Gère les branches (expérimentations)
Rôle de GitHub
GitHub est un serveur Git distant :
- Héberge tes dépôts
- Donne l’accès à d’autres personnes
- Ajoute des fonctions (Issues, PR, Actions)
Schéma
DEV (laptop) ── git push ──► GitHub (remote)
GitHub (remote) ── git pull ─► autre DEV / serveur
Dans ton cas : laptop Windows → dépôt privé ideolab → serveur Ubuntu / staging.
Windows
Télécharger Git for Windows → installer → ouvrir Git Bash.
git --version
Configurer ton identité :
git config --global user.name "Guillaume"
git config --global user.email "ton_email@domaine.com"
Linux / macOS
# Debian / Ubuntu
sudo apt update
sudo apt install git
# macOS
brew install git
Ces infos apparaîtront dans les commits GitHub.
Sur GitHub
- Cliquer sur + puis New repository
- Nommer :
ideolab - Choisir Private (ton cas)
- Créer
Tu obtiens l’URL :
https://github.com/ideolab2025/ideolab.git
Si tu as déjà un projet local
git init
git remote add origin https://github.com/ideolab2025/ideolab.git
git add .
git commit -m "Initial commit"
git push -u origin main
Chemin
- Avatar (en haut à droite) → Settings
- Developer settings
- Personal access tokens → Tokens (classic)
- Generate new token
Cocher le scope :
☑ repo
Utilisation
Le token généré ressemble à :
ghp_3AbCDefgHiJKLmno123456789
C’est lui que tu mettras dans .netrc ou que tu taperas quand Git te le demande.
Contenu
machine github.com
login ideolab2025
password ghp_TON_TOKEN_ICI
machine api.github.com
login ideolab2025
password ghp_TON_TOKEN_ICI
Sous Git Bash / Linux : chmod 600 ~/.netrc
Désactiver le credential Windows
git config --global credential.helper ""
Sinon Windows t’ouvre une popup GitHub au lieu d’utiliser ton fichier.
Commande
cd D:\wamp5\
git clone https://github.com/ideolab2025/ideolab.git
cd ideolab
Si ton .netrc est bon → pas de question. Sinon Git demande “Password for https://github.com/…” → tu colles le PAT.
Cycle standard
# 1. voir ce qui a changé
git status
# 2. ajouter fichiers
git add .
# 3. créer le commit
git commit -m "Ajout analyseur Django"
# 4. pousser sur GitHub
git push origin main
Astuce : si quelqu’un a push avant toi → git pull --rebase avant ton git push.
Générer
ssh-keygen -t ed25519 -C "ton_email@domaine.com"
# fichier : ~/.ssh/id_ed25519
Ajouter à GitHub
Copier le contenu de ~/.ssh/id_ed25519.pub → GitHub → Settings → SSH keys.
Puis cloner :
git clone git@github.com:ideolab2025/ideolab.git
Fenêtre d’auth GitHub qui revient
git config --global credential.helper ""
Erreur 401 / 403
- Token expiré → en régénérer un
- Dépôt privé → scope
repoobligatoire - Mauvaise URL (tu clones en SSH mais le remote est HTTPS)
Vérifier l’URL du remote
git remote -v
git remote set-url origin https://github.com/ideolab2025/ideolab.git
