TawaKnow LogoTawaKnow
AWSDevOpsFavorisContribuer

© 2026 TawaKnow. Tous droits réservés.

Mentions LégalesPolitique de confidentialitéContribuer
Pratiques DevOps
0/29 chapitres0%
1.

Introduction au DevOps

2.

Introduction à Linux

3.

Système de Fichiers Linux

4.

Interface en Ligne de Commande (CLI)

5.

Gestionnaire de Paquets Linux

6.

Vim — Éditeur de Texte CLI

7.

Utilisateurs & Groupes Linux

8.

Permissions & Propriété des Fichiers

9.

Shell Scripting Bash

10.

Variables d'Environnement Linux

11.

Réseau Linux

12.

SSH — Secure Shell

13.

Introduction à Git & Contrôle de Version

14.

Configurer un Dépôt Git

15.

Flux de Travail Git — add, commit, push, pull

16.

Branches Git & Merge Requests

17.

Git Avancé — Commandes, .gitignore & Bonnes Pratiques

18.

Outils de Build & Gestionnaires de Paquets

19.

Build Tools, Docker & CI/CD

20.

Introduction à Nexus — Gestionnaire de Dépôts d'Artifacts

21.

Installer et Configurer Nexus sur un Serveur

22.

Nexus — Repositories, Publication et API REST

23.

Introduction aux Containers & Docker

24.

Commandes Docker & Registries

25.

Dockerfile — Créer des Images Docker

26.

Docker Compose, Volumes & Bonnes Pratiques

27.

Introduction à Jenkins & CI/CD

28.

Installer et Configurer Jenkins

29.

Jenkins Pipeline & Jenkinsfile

...Introduction à Git & Contrôle de Version
CoursPratiques DevOpsIntroduction à Git & Contrôle de Version
Chapitre 13/29

Introduction à Git & Contrôle de VersionIntroduction à Git & Contrôle de Version

5 min de lecture
Total: ~5 min
Progression du cours0/29 chapitres

Introduction à Git & Contrôle de Version

Git est le système de contrôle de version le plus utilisé au monde. Il permet de suivre chaque modification du code et de collaborer à plusieurs sur un même projet.


Qu'est-ce que le contrôle de version ?

Le contrôle de version (ou "source control") = pratique de suivre et gérer les changements apportés au code source.

Sans Git                        Avec Git
──────────────────              ──────────────────────────────
projet-v1.zip                   ✓ Historique complet de chaque modification
projet-v2-FINAL.zip             ✓ Chaque changement étiqueté avec un message
projet-v2-VRAIMENT-FINAL.zip    ✓ Possibilité de revenir à n'importe quelle version
projet-v3-ok-celui-la.zip       ✓ Collaboration simultanée sans conflit

Ce que Git permet

  • Historique complet : chaque modification est enregistrée avec qui, quand et pourquoi
  • Revenir en arrière : annuler n'importe quel commit si nécessaire
  • Collaboration : plusieurs développeurs travaillent simultanément sur le même projet
  • Code centralisé : hébergé en ligne, accessible depuis partout

Concepts fondamentaux

Repository (Dépôt)

Un repository (repo) = l'espace de stockage de votre projet et de son historique.

Code Repository (hébergé sur internet)
       │
       ▼
┌──────────────────────────────┐
│  Développeur 1 (Local Repo)  │
│  Développeur 2 (Local Repo)  │  ← Chaque dev a une copie complète en local
│  Développeur 3 (Local Repo)  │
└──────────────────────────────┘
  • Le code est hébergé centralement sur internet (GitHub, GitLab...)
  • Chaque développeur a une copie complète du code en local

Commit — Unité de changement

Un commit = une "photo" (snapshot) de votre code à un instant T.

Fix button...     → Version 1 (commit 1)
Add list for...   → Version 2 (commit 2)
Update styles...  → Version 3 (commit 3)  ← HEAD (version actuelle)
  • Chaque commit a un message descriptif
  • Chaque commit a un hash unique (identifiant)
  • On peut revenir à n'importe quel commit à tout moment

Les 3 concepts clés de Git

ConceptDescription
Remote RepositoryOù le code est hébergé (GitLab, GitHub, Bitbucket...)
Local RepositoryCopie locale du code sur votre machine
Git ClientOutil pour exécuter les commandes Git (CLI ou UI)
Serveur Git (remote)
┌─────────────────────┐
│   Git Repository    │◄──── git push (envoyer)
│      (remote)       │────► git pull (récupérer)
└─────────────────────┘
         │
    ┌────┴────┐
    ▼         ▼
Local Repo  Local Repo
(Dev 1)     (Dev 2)

Merge et conflits

Fusion automatique

La plupart du temps, Git fusionne automatiquement les changements de plusieurs développeurs.

Merge Conflict (conflit de fusion)

Un conflit survient quand deux développeurs modifient la même ligne du même fichier.

Dev 1 modifie la ligne 42 de app.js  ─┐
Dev 2 modifie la ligne 42 de app.js  ─┤── CONFLIT → résolution manuelle requise

Bonne pratique : git push et git pull souvent pour rester synchronisé et éviter les conflits. Les changements d'un autre développeur ne vous affectent pas tant que vous n'avez pas fait git pull.


Pourquoi Git est essentiel pour le DevOps ?

Cas 1 — Infrastructure as Code (IaC)

Un ingénieur DevOps écrit du code pour créer l'infrastructure :
├── Fichiers Terraform (.tf)     → provisionner AWS, Azure...
├── Fichiers Ansible (.yaml)     → configurer des serveurs
├── Fichiers Kubernetes (.yaml)  → déployer des applications
└── Scripts Python               → automatiser des tâches

→ Ces fichiers doivent vivre dans un repo Git comme n'importe quel code !

Cas 2 — Scripts d'automatisation

Scripts shell ou Python qui :
├── Déploient des applications
├── Configurent des serveurs
├── Gèrent des sauvegardes

→ Trackés, versionnés, partagés avec l'équipe via Git

Cas 3 — Pipelines CI/CD

CI (Continuous Integration) :
  Chaque merge → checkout du code → tests → build automatique

Jenkins / GitLab CI / GitHub Actions intègrent Git pour :
├── Récupérer le hash du commit qui a déclenché le build
├── Vérifier si les changements sont dans frontend ou backend
└── Déployer uniquement si les tests passent
BénéficeDescription
TracéHistorique de qui a changé quoi
Stocké de façon sécuriséeCode centralisé, pas perdu si un PC tombe en panne
PartageableCollaboration en équipe facilitée
VersionnéRollback possible à n'importe quel état

À retenir

  • Git = système de contrôle de version distribué, le plus utilisé au monde
  • Repository = espace de stockage du projet (remote = en ligne, local = sur votre machine)
  • Commit = snapshot du code à un instant T, avec message descriptif
  • Chaque développeur a une copie complète du code en local
  • Merge Conflict = deux devs modifient la même ligne → résolution manuelle
  • Bonne pratique : pusher et puller souvent pour éviter les conflits
  • DevOps : Git est indispensable pour IaC, scripts d'automatisation et pipelines CI/CD
Précédent
SSH — Secure Shell
Suivant
Configurer un Dépôt Git
Sur cette page
PrécédentSuivant