Accéder à la vidéo gratuite

DÉCROCHEZ LE JOB DE VOS RÊVES DANS L'IT

Obtenez votre certification Cisco CCNA en 120 jours

Augmentez votre salaire jusqu'à 55 000€ et travaillez depuis n’importe où dans le monde.

Accéder à la vidéo gratuite

Commande Git pour réseau : versioning de configs

Commande Git pour réseau : versioning de configs


30 minutes de lecture

Écouter l'article
Audio generated by DropInBlog's Blog Voice AI™ may have slight pronunciation nuances. Learn more

🎬 Webinaire Exclusif FORMIP

Découvre les 6 Secrets pour Transformer ta Carrière IT

Dans ce webinaire gratuit, Damien te révèle comment décrocher ta certification CCNA et gagner jusqu'à 42 500€/an

🎯 Au programme :

  • Partie 1 : Pourquoi les attestations ne suffisent plus
  • Partie 2 : Les 3 erreurs qui freinent ta carrière IT
  • Partie 3 : Comment concilier travail, famille et formation
  • Partie 4 : Les tendances IT incontournables (Cloud, IoT, IA)
  • Partie 5 : Le hack LinkedIn pour attirer les recruteurs
  • Partie 6 : Ton plan d'action personnalisé en 6 étapes + PDF offert

🎁 Accède gratuitement au webinaire maintenant :

       
 🔒 100% Sécurisé   ✉️ Zéro Spam   ⚡ Accès Immédiat 

⭐ Rejoins les 700+ membres du Club IT qui ont transformé leur carrière avec FORMIP

Table of Contents

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 :

  1. Créer une branche feature : git checkout -b feature/nouvelle-config
  2. Développer et commiter : modifications + commits réguliers avec messages descriptifs
  3. Push vers le dépôt distant : git push origin feature/nouvelle-config
  4. Créer une Pull Request : revue par les pairs sur GitHub/GitLab
  5. Merger dans dev : tests en environnement de développement
  6. 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 :

git commit -m "[UPDATE] ACL IN sur ROUTER-EDGE : blocage IP 192.168.50.0/24"

MAUVAIS EXEMPLE :

git commit -m "modif config"

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 init pour créer un dépôt,

  • git add pour ajouter des fichiers,

  • git commit pour enregistrer les modifications,

  • git push et git pull pour synchroniser avec un dépôt distant,

  • git status pour vérifier l’état du projet,

  • git log pour 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 :

git init

Cela initialise un nouveau dépôt local. Vous pouvez ensuite le relier à un dépôt distant avec :

git remote add origin <URL-du-dépôt>

et envoyer votre premier commit avec :

git push -u origin main
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_branche

  • Changez de branche : git checkout nom_branche

  • Fusionnez 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 status pour voir les fichiers modifiés,

  • git diff pour afficher les lignes modifiées,

  • git log pour 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 :

git config --global user.name "VotreNom" git config --global user.email "VotreEmail"

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 :

git add <fichier_conflit> git commit

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 :

git remote add origin <URL-du-dépôt-GitHub>

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 .gitignore pour sécuriser les fichiers sensibles.

  • Documenter les dépôts pour faciliter la maintenance.

Ces pratiques garantissent un workflow propre, traçable et professionnel.

📞 APPEL DÉCOUVERTE GRATUIT

Prêt à Transformer ta Carrière IT ?

Réserve 30 minutes avec notre équipe pour échanger sur ton projet professionnel et découvrir comment nos parcours certifiants peuvent t'aider à atteindre tes objectifs.

 700+ professionnels ont déjà transformé leur carrière avec FORMIP 

🎯 Au programme de cet échange :

🎓

Analyse de ton projet

On étudie ensemble ton parcours et tes objectifs professionnels

🗺️

Plan d'action personnalisé

Découvre le parcours certifiant adapté à ton profil

💰

Options de financement

CPF, Pôle Emploi, financement personnel... on explore toutes les solutions

Réponses à tes questions

Méthodologie, durée, taux de réussite... On répond à tout !

⏱️ 30 min chrono
🎁 100% gratuit
🚫 Aucun engagement
🎯 Conseils sur-mesure

👇 Choisis ton créneau en 2 clics

Sélectionne le jour et l'heure qui te conviennent le mieux


Nos parcours certifiants :
Administrateur réseau certifié CCNA • Technicien support informatique certifié A+

700+
Membres actifs
95%
Taux de satisfaction
Qualiopi
Certifié qualité

« Retour au blog