Credit : Illustration backtotheweb.fr
Introduction a Git pour les developpeurs web
Introduction a Git pour les developpeurs web
Git est le systeme de controle de version le plus utilise au monde. Que vous travailliez seul ou en equipe, Git est un outil incontournable pour tout developpeur web. Ce guide couvre les commandes essentielles pour demarrer.
Installation
Sur Debian/Ubuntu :
apt install git -y
Configuration initiale :
git config --global user.name "Votre Nom"
git config --global user.email "votre@email.fr"
git config --global init.defaultBranch main
git config --global core.editor nano
Creer un depot
Nouveau projet
mkdir mon-projet
cd mon-projet
git init
Cloner un projet existant
git clone https://github.com/utilisateur/projet.git
cd projet
Le cycle de base : add, commit, push
Git fonctionne avec trois zones : le repertoire de travail, la zone de staging et l'historique (commits).
# Voir l'etat des fichiers
git status
# Ajouter des fichiers au staging
git add index.html
git add src/
git add . # Tout ajouter (attention aux fichiers sensibles)
# Creer un commit
git commit -m "Ajouter la page d'accueil"
# Voir l'historique
git log --oneline
git log --oneline --graph --all
Le fichier .gitignore
Creez un .gitignore a la racine pour exclure les fichiers qui ne doivent pas etre versionnes :
node_modules/
.env
*.log
dist/
.DS_Store
vendor/
Les branches
Les branches permettent de travailler sur des fonctionnalites sans affecter le code principal.
# Creer et basculer sur une nouvelle branche
git checkout -b feature/navbar
# Equivalent moderne
git switch -c feature/navbar
# Lister les branches
git branch
git branch -a # Inclut les branches distantes
# Changer de branche
git switch main
# Supprimer une branche
git branch -d feature/navbar
Fusionner des branches (merge)
Une fois votre fonctionnalite terminee, fusionnez-la dans main :
git switch main
git merge feature/navbar
Gerer un conflit de merge
Quand deux branches modifient le meme fichier, Git signale un conflit :
<<<<<<< HEAD
<nav class="navbar navbar-dark">
=======
<nav class="navbar navbar-light">
>>>>>>> feature/navbar
Editez le fichier pour garder la version souhaitee, puis :
git add index.html
git commit -m "Resoudre le conflit de la navbar"
Travailler avec un remote (GitHub)
Connecter un depot local a GitHub
git remote add origin https://github.com/utilisateur/mon-projet.git
git push -u origin main
Workflow quotidien
# Recuperer les modifications distantes
git fetch origin
git pull origin main
# Pousser vos commits
git push origin main
# Pousser une branche
git push origin feature/navbar
Commandes utiles au quotidien
# Voir les modifications non commitees
git diff
git diff --staged
# Annuler les modifications d'un fichier
git restore index.html
# Retirer un fichier du staging
git restore --staged index.html
# Modifier le dernier commit (avant push)
git commit --amend -m "Nouveau message"
# Stash : mettre de cote des modifications temporairement
git stash
git stash pop
git stash list
# Voir qui a modifie chaque ligne
git blame index.html
# Rechercher dans l'historique
git log --grep="navbar"
git log -p -- src/style.css
Workflow recommande
Pour un projet web, adoptez un workflow simple :
maincontient toujours du code fonctionnel- Creez une branche par fonctionnalite (
feature/...) ou par correctif (fix/...) - Travaillez et commitez sur votre branche
- Ouvrez une Pull Request sur GitHub pour la revue de code
- Fusionnez dans
mainapres validation - Deployez depuis
main
Deployer avec Git sur votre serveur IONOS
Vous pouvez utiliser Git pour deployer votre site :
# Sur le serveur
cd /var/www/monsite.fr
git init --bare deploy.git
Creez un hook post-receive dans deploy.git/hooks/ :
#!/bin/bash
git --work-tree=/var/www/monsite.fr --git-dir=/var/www/monsite.fr/deploy.git checkout -f
Depuis votre machine locale :
git remote add production ssh://user@serveur/var/www/monsite.fr/deploy.git
git push production main
Git est un investissement en apprentissage qui se rentabilise des le premier jour. Commencez par les bases et explorez les fonctionnalites avancees au fur et a mesure de vos besoins.
Vous avez une astuce à ajouter ? Contactez-nous, on l'ajoutera avec plaisir.