Table of Contents
- Commande Git pour réseau : maîtriser le versioning de vos configurations
- Pourquoi utiliser Git pour les configurations réseau ?
- Installation et configuration initiale de Git
- Commandes Git essentielles pour débuter
- Gestion des branches pour les configurations réseau
- Travailler avec des dépôts distants (GitHub, GitLab)
- Commandes Git avancées pour les admins réseau
- Résolution de conflits dans Git
- Workflow Git pour équipes réseau
- Intégration Git avec les outils d'automatisation réseau
- Conclusion
- FAQs
Commande Git pour réseau : maîtriser le versioning de vos configurations
En tant qu’administrateur réseau, vous avez probablement déjà vécu ce cauchemar : une configuration de routeur modifiée qui provoque une panne, sans aucun moyen de revenir rapidement à la version précédente. Ou pire, plusieurs administrateurs qui modifient simultanément les mêmes équipements sans coordination, créant des conflits difficiles à résoudre. Dans ces cas-là, maîtriser une commande Git simple peut faire toute la différence : elle permet de restaurer la bonne version, d’identifier les changements et d’éviter les erreurs de configuration.
La gestion traditionnelle des configurations réseau, basée sur des fichiers texte éparpillés ou des sauvegardes manuelles, montre rapidement ses limites. C’est là qu’intervient Git et, plus précisément, la commande Git, véritable alliée pour versionner, documenter et sécuriser vos configurations réseau.
Grâce à l’utilisation stratégique de chaque commande Git — de git add à git commit, en passant par git push et git branch — il devient possible d’assurer une traçabilité complète des changements, une collaboration fluide entre administrateurs et un rollback instantané en cas d’incident.
Ce guide complet vous présente les commandes Git essentielles pour réseau, du workflow de base aux techniques avancées, en passant par la gestion de branches et l’intégration avec des outils d’automatisation tels qu’Ansible, Chef ou Puppet.
Dans un environnement DevOps et NetOps où l’Infrastructure as Code s’impose comme standard, maîtriser les commandes Git n’est plus une option : c’est une compétence indispensable pour tout administrateur réseau souhaitant garantir la stabilité, la cohérence et la sécurité de ses déploiements.
🎓 Devenez un admin réseau moderne avec notre formation administrateur réseau → Maîtrisez Git, Ansible et l'automatisation réseau
Pourquoi utiliser Git pour les configurations réseau ?
Les défis de la gestion traditionnelle
La méthode classique de gestion des configurations réseau présente de nombreuses failles critiques. Les configurations sont souvent modifiées directement sur les équipements sans aucune traçabilité, rendant impossible l'identification de qui a fait quoi et quand. L'absence d'historique structuré empêche tout retour en arrière fiable en cas de problème. Lorsque plusieurs administrateurs travaillent sur le même projet réseau, la collaboration devient un véritable casse-tête avec des risques d'écrasement mutuel des modifications. Les conflits entre versions de fichiers se multiplient, causant des erreurs de configuration potentiellement désastreuses. Sans système de versioning, chaque changement représente un risque non maîtrisé pour la stabilité du réseau.
Les bénéfices de Git pour le réseau
Traçabilité complète
Git enregistre chaque modification dans un historique immuable et détaillé. Chaque commit contient l'identité de l'auteur, la date précise de la modification et un message descriptif expliquant le changement. Cette traçabilité permet de répondre instantanément à la question "qui a modifié cette ACL et pourquoi ?". En cas d'audit ou d'investigation après incident, l'historique Git devient une source d'information inestimable pour comprendre l'évolution des configurations.
Collaboration efficace
Le travail en équipe devient fluide grâce au système de branches de Git. Plusieurs administrateurs peuvent travailler simultanément sur différentes parties du réseau sans se gêner. La revue de code avant application permet de détecter les erreurs potentielles avant leur mise en production. Les branches de test offrent un environnement sécurisé pour valider de nouvelles configurations sans risquer l'infrastructure production.
Sécurité et résilience
La capacité de rollback instantané constitue une assurance-vie pour votre infrastructure réseau. En cas de mauvaise configuration ou de panne, revenir à la version précédente stable prend quelques secondes avec une simple commande Git. La nature distribuée de Git assure une sauvegarde automatique des configurations sur chaque poste de travail et sur le serveur distant. Cette redondance garantit la récupération après incident, même en cas de perte d'un serveur.
Automatisation moderne
Git s'intègre parfaitement avec les outils d'automatisation réseau comme Ansible, Terraform ou Python. Cette intégration permet de mettre en place des pipelines CI/CD pour l'infrastructure réseau, où chaque modification de configuration déclenche automatiquement des tests et des déploiements contrôlés. L'Infrastructure as Code devient réalité, transformant la gestion réseau en une discipline aussi rigoureuse que le développement logiciel.
Installation et configuration initiale de Git
Installation de Git
L'installation de Git varie selon votre système d'exploitation. Sur les distributions Linux Ubuntu ou Debian, utilisez le gestionnaire de paquets APT :
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install git
Pour les systèmes CentOS ou RHEL, employez YUM :
# CentOS/RHEL
sudo yum install git
Les utilisateurs Windows téléchargent Git for Windows depuis le site officiel git-scm.com et suivent l'assistant d'installation graphique. Sur macOS, l'installation la plus simple passe par Homebrew :
brew install git
Une fois installé, vérifiez la version pour confirmer le bon fonctionnement :
git --version
Configuration initiale obligatoire
Avant toute utilisation, Git exige la configuration de votre identité. Cette information apparaîtra dans chaque commit que vous créerez :
# Configurer votre identité
git config --global user.name "Votre Nom"
git config --global user.email "[email protected]"
# Configurer l'éditeur par défaut
git config --global core.editor "vim"
# Vérifier la configuration
git config --list
Le paramètre --global applique ces réglages à tous vos projets Git. Pour une configuration spécifique à un seul projet, omettez ce paramètre et exécutez la commande depuis le répertoire du dépôt concerné.
Configuration spécifique pour les administrateurs réseau
Les admins réseau doivent prendre des précautions supplémentaires pour protéger les données sensibles :
# Ignorer les fichiers sensibles (mots de passe)
git config --global core.excludesfile ~/.gitignore_global
# Configurer la colorisation pour meilleure lisibilité
git config --global color.ui auto
Créez ensuite le fichier ~/.gitignore_global pour exclure automatiquement les fichiers contenant des mots de passe ou des clés d'authentification. Découvrez plus de techniques sur la ligne de commande Linux.
Commandes Git essentielles pour débuter
git init - Créer un nouveau dépôt
La commande git init initialise un nouveau dépôt Git dans un répertoire. Elle crée la structure de données nécessaire au versioning dans un dossier caché .git :
# Créer un dossier pour vos configs réseau
mkdir configs-reseau
cd configs-reseau
# Initialiser le dépôt Git
git init
Le message "Initialized empty Git repository" confirme la création du dépôt. Ce répertoire .git contient toute la base de données Git : historique des commits, configuration du projet, références aux branches, et index des fichiers.
Cas d'usage pour configurations réseau
Pour une organisation optimale, structurez votre dépôt dès le départ :
# Structure recommandée pour configs réseau
mkdir -p configs-reseau/{routers,switches,firewalls}
cd configs-reseau
git init
Cette arborescence sépare clairement les différents types d'équipements, facilitant la navigation et la gestion des configurations.
git add - Ajouter des fichiers au suivi
La commande git add déplace les fichiers modifiés vers la zone de préparation (staging area), préparant leur inclusion dans le prochain commit :
# Créer un fichier de config
echo "hostname ROUTER-01" > routers/router-01.conf
# Ajouter au suivi Git
git add routers/router-01.conf
Pour ajouter plusieurs fichiers simultanément :
# Ajouter tous les fichiers modifiés
git add .
# Ajouter tous les fichiers d'un répertoire
git add routers/
Le point . représente le répertoire courant et tous ses sous-répertoires. Cette commande pratique accélère le workflow, mais vérifiez toujours avec git status ce que vous ajoutez pour éviter d'inclure des fichiers sensibles.
git commit - Enregistrer les modifications
Un commit est un instantané complet de votre projet à un moment donné. La commande git commit enregistre définitivement les modifications présentes dans la zone de préparation :
# Commit avec message descriptif
git commit -m "Ajout configuration initiale ROUTER-01"
# Commit avec message détaillé (ouvre l'éditeur)
git commit
Bonnes pratiques pour les messages de commit
Des messages clairs facilitent grandement la compréhension de l'historique. Adoptez un format standardisé :
- Format recommandé :
[TYPE] Description courte - Types courants : ADD (ajout), UPDATE (modification), FIX (correction), DELETE (suppression)
- Exemple concret :
[ADD] Configuration VLAN 10 sur SWITCH-CORE-01 - Limite : 50 caractères pour le titre, détails supplémentaires dans le corps du message
Un bon message répond aux questions : quoi, pourquoi, et contexte si nécessaire.
git status - Vérifier l'état du dépôt
La commande git status affiche l'état actuel de votre répertoire de travail et de la zone de préparation :
# Afficher l'état actuel
git status
Output exemple :
On branch main
Changes not staged for commit:
modified: routers/router-01.conf
Untracked files:
switches/switch-01.conf
Cette commande indique trois catégories de fichiers : les fichiers modifiés non ajoutés (modified), les fichiers prêts à être commités (staged), et les fichiers non suivis par Git (untracked). Utilisez git status fréquemment pour maintenir une vision claire de votre travail.
git log - Afficher l'historique
L'historique des commits se consulte avec git log :
# Historique complet
git log
# Historique condensé (une ligne par commit)
git log --oneline
# Historique graphique avec toutes les branches
git log --oneline --graph --all
# Voir les modifications d'un commit spécifique
git show <commit-hash>
Le format --oneline offre une vue synthétique particulièrement utile pour les dépôts avec de nombreux commits. L'option --graph visualise la structure des branches, essentielle pour comprendre les workflows complexes. Pour afficher les détails d'un commit incluant les lignes modifiées, git show suivi du hash du commit (identifiant unique) révèle le contenu exact des changements.
💼 Automatisez votre infrastructure réseau ! Rejoignez notre formation administrateur réseau → Apprenez Git, l'IaC et les outils DevOps
Gestion des branches pour les configurations réseau
Pourquoi utiliser des branches ?
Les branches constituent le cœur de la puissance de Git. Chaque branche représente une ligne de développement indépendante, permettant de travailler sur plusieurs modifications simultanément sans interférence. Dans un contexte réseau, les branches offrent des avantages stratégiques majeurs.
Cas d'usage réseau concrets
- Branche main (ou master) : contient uniquement les configurations production validées et testées, garantissant la stabilité
- Branche dev : environnement de développement où les nouvelles configurations sont testées avant validation
- Branches feature : créées pour tester des modifications spécifiques comme de nouveaux VLANs, des ACLs ou des configurations de routage
- Branches par site : pour gérer des configurations spécifiques à chaque localisation (site-paris, site-lyon, site-marseille)
Cette organisation évite les modifications directes sur la production et instaure un workflow de validation rigoureux.
git branch - Gérer les branches
La commande git branch permet de créer, lister et supprimer des branches :
# Lister toutes les branches locales
git branch
# Créer une nouvelle branche
git branch feature-vlan-10
# Créer et basculer sur une nouvelle branche
git checkout -b feature-acl-web
# Supprimer une branche locale
git branch -d feature-vlan-10
# Supprimer une branche distante
git push origin --delete feature-vlan-10
La branche active est marquée d'un astérisque. L'option -d supprime uniquement les branches déjà mergées, protégeant contre la perte accidentelle de travail. Pour forcer la suppression d'une branche non mergée, utilisez -D majuscule, mais avec prudence.
git checkout - Basculer entre les branches
Le changement de branche s'effectue avec git checkout :
# Changer de branche
git checkout main
# Créer et basculer (raccourci)
git checkout -b dev
# Version moderne (Git 2.23+)
git switch main
git switch -c dev
Les versions récentes de Git introduisent git switch pour améliorer la clarté. Cette commande dédiée au changement de branche évite la confusion avec d'autres usages de checkout. L'option -c (create) crée la nouvelle branche avant de basculer dessus.
git merge - Fusionner les branches
La fusion de branches intègre les modifications d'une branche dans une autre. Voici le workflow typique :
# 1. Vous travaillez sur une branche feature
git checkout feature-vlan-10
# ... modifications des configs et commits ...
# 2. Basculer sur la branche cible (main)
git checkout main
# 3. Fusionner la branche feature
git merge feature-vlan-10
# 4. Si pas de conflit, push vers le dépôt distant
git push origin main
Exemple concret pour configurations réseau
Imaginons l'ajout d'un nouveau VLAN pour le département RH :
# Créer une branche de test
git checkout -b test-vlan-20
# Modifier la configuration
vim switches/switch-01.conf
# Ajouter et commiter les changements
git add switches/switch-01.conf
git commit -m "[ADD] VLAN 20 pour département RH"
# Après validation en environnement de test, merger dans main
git checkout main
git merge test-vlan-20
# Déployer en production
git push origin main
Ce workflow garantit que toute modification passe par une phase de test avant intégration production.
Travailler avec des dépôts distants (GitHub, GitLab)
git clone - Cloner un dépôt existant
Pour récupérer une copie complète d'un dépôt distant existant, utilisez git clone :
# Cloner depuis GitHub
git clone https://github.com/entreprise/configs-reseau.git
# Cloner depuis GitLab
git clone https://gitlab.com/entreprise/configs-reseau.git
# Cloner dans un répertoire spécifique
git clone https://github.com/entreprise/configs-reseau.git mon-dossier
Cette commande télécharge l'intégralité de l'historique du projet, crée le répertoire local, et configure automatiquement le dépôt distant sous le nom "origin". Tous les membres de l'équipe peuvent ainsi travailler sur la même base de code.
git remote - Gérer les dépôts distants
Les dépôts distants sont des versions de votre projet hébergées sur des serveurs. La gestion se fait avec git remote :
# Ajouter un dépôt distant
git remote add origin https://github.com/entreprise/configs-reseau.git
# Lister les dépôts distants avec leurs URLs
git remote -v
# Modifier l'URL d'un dépôt distant
git remote set-url origin https://nouvelle-url.git
# Supprimer un dépôt distant
git remote remove origin
Le nom "origin" est une convention pour désigner le dépôt distant principal. Vous pouvez configurer plusieurs dépôts distants avec des noms différents pour des workflows complexes (backup, miroir, etc.).
git push - Envoyer les commits vers le dépôt distant
Une fois vos commits créés localement, partagez-les avec l'équipe via git push :
# Push sur la branche actuelle
git push origin main
# Push et créer la branche distante
git push -u origin feature-vlan-10
# Push toutes les branches locales
git push --all
# Forcer un push (ATTENTION : dangereux)
git push --force
L'option -u (ou --set-upstream) configure la branche locale pour suivre automatiquement la branche distante. Les futurs git push et git pull n'auront plus besoin de spécifier la destination. N'utilisez --force qu'en dernier recours et jamais sur des branches partagées, car cela réécrit l'historique et peut faire perdre le travail de vos collègues.
git pull - Récupérer les modifications distantes
Pour synchroniser votre dépôt local avec les modifications distantes, git pull combine récupération et fusion :
# Pull depuis la branche actuelle
git pull origin main
# Pull avec rebase (historique plus propre)
git pull --rebase origin main
# Fetch + merge manuel (approche en deux temps)
git fetch origin
git merge origin/main
L'option --rebase réapplique vos commits locaux au-dessus des commits distants, créant un historique linéaire plus lisible. Cette approche évite les commits de merge superflus dans l'historique.
git fetch - Récupérer sans fusionner
Contrairement à git pull, git fetch récupère les modifications sans les fusionner automatiquement :
# Récupérer toutes les branches distantes
git fetch origin
# Voir les différences avant de merger
git diff main origin/main
# Merger manuellement si satisfait
git merge origin/main
Cette approche en deux temps offre plus de contrôle. Vous pouvez inspecter les changements distants avant de les intégrer, réduisant les risques de conflits surprises.
Commandes Git avancées pour les admins réseau
git diff - Afficher les modifications
La commande git diff révèle les différences entre différentes versions de fichiers :
# Voir les modifications non stagées
git diff
# Voir les modifications stagées (ajoutées avec git add)
git diff --staged
# Comparer deux commits
git diff <commit1> <commit2>
# Comparer deux branches
git diff main dev
# Voir les modifications d'un fichier spécifique
git diff routers/router-01.conf
Exemples pratiques pour configurations réseau
# Voir uniquement les changements dans les routeurs
git diff main dev -- routers/
# Comparer config actuelle vs version précédente
git diff HEAD~1 routers/router-01.conf
La notation HEAD~1 désigne le commit précédent le dernier. HEAD~2 remonte deux commits en arrière, et ainsi de suite. Cette syntaxe facilite les comparaisons rapides dans l'historique récent.
git stash - Mettre de côté les modifications
Le stash sauvegarde temporairement vos modifications en cours sans créer de commit. Cas d'usage typique : vous travaillez sur une configuration mais devez changer de branche d'urgence pour corriger un problème critique :
# Mettre de côté les modifications
git stash
# Lister tous les stash
git stash list
# Réappliquer le dernier stash
git stash pop
# Réappliquer un stash spécifique sans le supprimer
git stash apply stash@{0}
# Supprimer un stash
git stash drop stash@{0}
La commande git stash pop applique le stash et le supprime immédiatement. Si vous préférez conserver le stash après application, utilisez git stash apply. Chaque stash est numéroté, permettant d'empiler plusieurs modifications temporaires.
git rebase - Réécrire l'historique
Le rebase réapplique vos commits au-dessus d'une autre base, créant un historique linéaire plus propre :
# Rebaser sur main
git checkout feature-vlan-10
git rebase main
# Rebase interactif pour modifier les commits
git rebase -i HEAD~3
Le rebase interactif (-i) ouvre un éditeur listant les derniers commits. Vous pouvez alors les réordonner, fusionner, modifier leurs messages ou les supprimer. Cet outil puissant nettoie l'historique avant de partager votre travail.
⚠️ ATTENTION : Ne jamais rebaser des commits déjà pushés sur une branche partagée. Le rebase réécrit l'historique, ce qui cause des conflits pour tous les collaborateurs ayant basé leur travail sur les commits originaux.
git reset - Annuler des commits
La commande git reset modifie l'historique en déplaçant la branche actuelle vers un commit antérieur :
# Annuler le dernier commit (garder les modifications)
git reset --soft HEAD~1
# Annuler le dernier commit (supprimer les modifications)
git reset --hard HEAD~1
# Revenir à un commit spécifique
git reset --hard <commit-hash>
Les trois modes de reset offrent différents niveaux d'impact :
--soft: déplace HEAD, conserve les fichiers modifiés dans la zone de préparation--mixed(défaut) : déplace HEAD, conserve les fichiers modifiés mais les retire de la zone de préparation--hard: déplace HEAD et supprime toutes les modifications, retour complet au commit ciblé
Utilisez --hard avec extrême prudence car les modifications perdues sont irrécupérables (sauf via le reflog, technique avancée).
⚡ Devenez expert en automatisation réseau ! Notre formation administrateur réseau vous forme aux outils DevOps modernes → Git, Ansible, CI/CD
Résolution de conflits dans Git
Qu'est-ce qu'un conflit ?
Un conflit survient lorsque Git ne peut pas fusionner automatiquement des modifications. Cela se produit quand deux personnes modifient les mêmes lignes d'un fichier sur des branches différentes, ou quand un fichier est supprimé sur une branche mais modifié sur l'autre. Git marque les zones conflictuelles dans le fichier et attend une résolution manuelle.
Exemple de conflit dans un fichier de configuration :
<<<<<<< HEAD
hostname ROUTER-01-PARIS
=======
hostname ROUTER-01-MAIN
>>>>>>> feature-rename
Les marqueurs <<<<<<<, ======= et >>>>>>> délimitent les versions conflictuelles. La section entre <<<<<<< HEAD et ======= montre votre version locale actuelle. La section entre ======= et >>>>>>> feature-rename affiche la version de la branche à merger.
Résoudre un conflit
La résolution suit un processus structuré en quatre étapes :
1. Identifier le conflit
Après un merge échoué, git status liste les fichiers en conflit :
git merge feature-vlan-20
# CONFLICT (content): Merge conflict in switches/switch-01.conf
2. Éditer manuellement
Ouvrez le fichier conflictuel avec votre éditeur préféré et choisissez la version correcte. Vous pouvez conserver une version, l'autre, ou créer une fusion personnalisée des deux :
vim switches/switch-01.conf
Supprimez les marqueurs de conflit et ajustez le contenu selon vos besoins. Par exemple, si les deux noms de hostname sont valides dans des contextes différents, documentez votre choix dans un commentaire.
3. Marquer comme résolu
Une fois le fichier édité, signalez à Git que le conflit est résolu :
git add switches/switch-01.conf
4. Finaliser le merge
Créez le commit de merge pour conclure l'opération :
git commit -m "Résolution conflit VLAN 20"
Si aucun message n'est spécifié, Git propose un message par défaut décrivant le merge.
Outils pour faciliter la résolution
Outils visuels de merge
Git peut lancer des outils graphiques pour résoudre les conflits de manière visuelle :
# Lancer l'outil de merge configuré
git mergetool
Des outils populaires comme kdiff3, meld, ou vimdiff affichent trois panneaux : version locale, version de base commune, et version distante, facilitant la comparaison.
Commandes utiles pendant un conflit
# Annuler complètement le merge en cours
git merge --abort
# Voir uniquement les fichiers en conflit
git diff --name-only --diff-filter=U
La commande git merge --abort restaure l'état d'avant le merge, utile si vous réalisez que vous n'êtes pas prêt à résoudre les conflits immédiatement. Découvrez plus de techniques de sécurisation dans notre article sur l'onglet sécurité.
Workflow Git pour équipes réseau
Git Flow pour configurations réseau
Le Git Flow est une méthodologie de gestion de branches qui structure le développement collaboratif. Adapté aux configurations réseau, il garantit un processus rigoureux :
Structure de branches recommandée :
main (production)
├── dev (développement)
├── feature/vlan-dept-rh
├── feature/acl-web-server
├── hotfix/critical-security-patch
└── site/paris
Workflow type en 6 étapes :
- Créer une branche feature :
git checkout -b feature/nouvelle-config - Développer et commiter : modifications + commits réguliers avec messages descriptifs
- Push vers le dépôt distant :
git push origin feature/nouvelle-config - Créer une Pull Request : revue par les pairs sur GitHub/GitLab
- Merger dans dev : tests en environnement de développement
- Merger dans main : déploiement en production après validation complète
Ce workflow en cascade assure que chaque modification passe par plusieurs niveaux de validation avant d'atteindre la production, minimisant drastiquement les risques d'incidents.
Bonnes pratiques pour les équipes
Messages de commit clairs et standardisés
Un bon message de commit, associé à la commande Git appropriée, communique efficacement l’intention du changement.
BON EXEMPLE :
MAUVAIS EXEMPLE :
La bonne utilisation d’une commande Git commit permet de préciser le type de modification, l’équipement concerné et la nature exacte du changement. Cette clarté facilite la lecture de l’historique et la recherche rapide de modifications spécifiques dans les configurations réseau.
Commits atomiques
Chaque commande Git commit doit représenter une unité logique de changement. Ne combinez pas dans un même commit l’ajout d’un VLAN, la modification d’une ACL et la mise à jour d’une configuration BGP. Ces actions distinctes méritent des commits séparés.
Les commits atomiques simplifient les revues de code, les rollbacks sélectifs et la compréhension de l’historique des changements réseau.
Branches courtes et ciblées
Créez des branches dédiées à des modifications précises à l’aide des commandes Git branch et checkout. Une branche conservée trop longtemps risque d’introduire des conflits avec d’autres branches. Fusionnez (git merge) rapidement après validation pour maintenir une base de code synchronisée et éviter les divergences importantes.
Revue de code systématique
Utilisez les Pull Requests (GitHub) ou Merge Requests (GitLab) pour instaurer une revue obligatoire. Aucune modification issue d’une commande Git push ne doit atteindre la production sans validation par au moins un autre administrateur.
Cette approche renforce la qualité des configurations réseau, détecte les erreurs et favorise le partage de connaissances entre membres de l’équipe.
📘 Documentation intégrée
Maintenez deux fichiers essentiels à la racine de votre dépôt Git :
README.md: structure du dépôt, conventions de nommage, instructions de contribution, contacts des responsables.CHANGELOG.md: historique des changements majeurs avec dates, impacts et raisons des modifications.
Ces fichiers, versionnés via les commandes Git, servent de référence fiable pour tous les membres de l’équipe et facilitent l’intégration des nouveaux arrivants.
Intégration Git avec les outils d'automatisation réseau
Git + Ansible
L'association Git et Ansible crée une Infrastructure as Code complète pour le réseau. Voici une structure de projet type :
configs-reseau/
├── inventory/
│ ├── production.yml
│ └── dev.yml
├── playbooks/
│ ├── deploy-vlan.yml
│ └── backup-configs.yml
├── group_vars/
│ └── all.yml
├── host_vars/
├── .gitignore
└── README.md
Workflow Git + Ansible :
# 1. Modifier un playbook
vim playbooks/deploy-vlan.yml
# 2. Versionner la modification
git add playbooks/deploy-vlan.yml
git commit -m "[UPDATE] Playbook VLAN : ajout VLAN 30 département Marketing"
# 3. Push vers le dépôt distant
git push origin main
# 4. Le pipeline CI/CD déclenche automatiquement le déploiement
Cette automatisation garantit que chaque changement versionné dans Git déclenche un déploiement contrôlé, éliminant les modifications manuelles hasardeuses.
Git + CI/CD pour le réseau
Les pipelines CI/CD appliqués au réseau transforment la gestion d'infrastructure. Voici un exemple de pipeline GitLab CI :
stages:
- validate
- test
Conclusion
La maîtrise des commandes Git représente aujourd’hui une compétence indispensable pour tout administrateur réseau moderne. Dans un écosystème IT où l’Infrastructure as Code et les méthodologies DevOps deviennent la norme, savoir utiliser chaque commande Git pour versionner efficacement vos configurations réseau n’est plus optionnel : c’est une nécessité professionnelle. Git transforme radicalement la gestion des configurations de routeurs, switches et firewalls, en apportant une traçabilité complète, une collaboration fluide, une sécurité renforcée et des capacités d’automatisation avancées.
Les commandes Git fondamentales que nous avons explorées constituent votre boîte à outils quotidienne. De git init pour démarrer un nouveau projet jusqu’à git merge pour intégrer les modifications d’équipe, en passant par la gestion des dépôts distants avec git push et git pull, chaque commande Git répond à un besoin concret dans votre workflow d’administrateur réseau. La gestion de branches permet de tester les modifications en isolation avant leur déploiement en production, éliminant les erreurs catastrophiques. Les outils avancés comme git diff, git stash et git rebase affinent votre contrôle et optimisent votre productivité.
L’intégration de Git avec des outils d’automatisation comme Ansible et des pipelines CI/CD propulse la gestion réseau vers de nouveaux sommets d’efficacité. Chaque commande Git devient une étape clé dans la validation, la synchronisation et le déploiement de vos configurations. Les conflits se résolvent méthodiquement, les rollbacks s’effectuent en quelques secondes, et l’historique complet de votre infrastructure reste accessible à tout moment. Cette approche professionnelle distingue les administrateurs réseau traditionnels des NetDevOps experts recherchés par les entreprises.
N’attendez plus pour moderniser vos pratiques. Commencez dès aujourd’hui par initialiser un dépôt Git et maîtriser vos commandes Git de base sur vos configurations les plus critiques. Établissez des conventions de commit claires avec votre équipe. Mettez en place un workflow de branches structuré. Intégrez progressivement l’automatisation. Chaque commande Git exécutée avec méthode renforce la fiabilité et la sécurité de votre infrastructure réseau. Git n’est pas qu’un outil technique : c’est une philosophie de travail rigoureuse qui élève la gestion réseau au niveau des meilleures pratiques de l’industrie logicielle.
L’avenir de l’administration réseau appartient à ceux qui maîtrisent à la fois les protocoles traditionnels et les outils modernes de développement. Git — et surtout la bonne utilisation de chaque commande Git — constitue le pont entre ces deux mondes, transformant les administrateurs réseau en véritables ingénieurs infrastructure. Prenez ce virage technologique dès maintenant et positionnez-vous parmi les professionnels IT les plus valorisés du marché.
Retrouver de nombreuses vidéos de cours sur la chaîne Youtube Formip :
Pour renforcer la sécurité de vos infrastructures et comprendre comment les bonnes pratiques de versioning s’intègrent à la cybersécurité, découvrez notre guide complet sur la prévention des attaques par SQL injection.
FAQs
Quelles sont les commandes Git essentielles ?
Les commandes Git de base sont :
git initpour créer un dépôt,git addpour ajouter des fichiers,git commitpour enregistrer les modifications,git pushetgit pullpour synchroniser avec un dépôt distant,git statuspour vérifier l’état du projet,git logpour consulter l’historique.
Elles permettent de suivre, sauvegarder et partager efficacement les configurations réseau.
Comment créer un nouveau dépôt Git ?
Pour créer un dépôt, placez-vous dans le dossier du projet et exécutez la commande :
Cela initialise un nouveau dépôt local. Vous pouvez ensuite le relier à un dépôt distant avec :
et envoyer votre premier commit avec :
Comment utiliser Git pour gérer des branches ?
Git permet de travailler sur plusieurs versions d’un projet sans interférer avec la branche principale.
Créez une branche :
git branch nom_brancheChangez de branche :
git checkout nom_brancheFusionnez une branche :
git merge nom_branche
Les branches sont très utiles pour tester des configurations réseau ou déployer des changements progressifs.
Comment afficher les modifications dans Git ?
Pour visualiser les changements, utilisez :
git statuspour voir les fichiers modifiés,git diffpour afficher les lignes modifiées,git logpour consulter l’historique complet des commits.
Ces commandes facilitent l’analyse et le suivi des ajustements dans les configurations réseau.
Comment configurer Git pour un projet ?
Avant toute utilisation, configurez Git avec :
Il est également conseillé d’ajouter un fichier .gitignore pour exclure les fichiers sensibles (mots de passe, clés SSH, sauvegardes locales…).
Comment résoudre des conflits dans Git ?
Un conflit apparaît lorsque deux modifications affectent la même portion d’un fichier.
Git marque les zones en conflit.
Vous devez choisir la version à conserver, puis exécuter :
L’utilisation d’outils comme Visual Studio Code ou Sourcetree simplifie grandement la résolution de conflits.
Comment utiliser Git avec GitHub ?
GitHub sert d’hébergement distant pour vos dépôts Git.
Après avoir créé un dépôt sur GitHub, reliez-le à votre projet local avec :
Ensuite, utilisez git push et git pull pour synchroniser vos changements. Cela permet aux équipes réseau de collaborer efficacement sur des configurations partagées.
Quelles sont les meilleures pratiques avec Git ?
Faire des commits fréquents et bien commentés.
Travailler sur des branches distinctes avant de fusionner.
Toujours mettre à jour (
git pull) avant de pousser des changements.Utiliser
.gitignorepour sécuriser les fichiers sensibles.Documenter les dépôts pour faciliter la maintenance.
Ces pratiques garantissent un workflow propre, traçable et professionnel.