Commandes Git fondamentales pour la gestion de versions

Configuration de Git

Pour afficher les paramètres de configuration Git, utilisez les commandes suivnates :

# Voir la configuration système
git config --system --list

# Voir la configuration globale de l'utilisateur
git config --global --list

# Voir la configuration du dépôt local
git config --local --list

Pour définir le nom d'utilisateur et l'adresse e-mail (identifiants utilisateur) :

# Ajouter un élément de configuration
git config --global user.name "votre_nom"
git config --global user.email "votre_email@exemple.com"

# Supprimer un élément de configuration
git config --global --unset user.name

Théorie de base de Git

Zones de travail

Git gère les fichiers dans quatre zones principales :

  • Espace de travail : Répertoire local où se trouvent les fichiers du projet.
  • Zone de staging : Zone temporaire pour préparer les modifications avant validation.
  • Dépôt local : Base de données locale contenant l'historique complet des versions.
  • Dépôt distant : Serveur distant pour la collaboration et le partage de code.

Les transitions entre zones se font via des commandes spécifiques comme add et commit.

Flux de travail

Le processus standard de Git inclut :

  1. Modifier des fichiers dans l'espace de travail.
  2. Ajouter les modifications à la zone de staging.
  3. Valider les modifications dans le dépôt local.

Les fichiers peuvent être dans trois états : modifié, staged ou validé.

Opérations courantes avec Git

Initialiser un dépôt

Créer un nouveau dépôt Git dans le répertoire courant :

# Initialiser un dépôt Git
git init

# Créer et initialiser un dépôt dans un nouveau répertoire
git init nouveau-depot

Cela génère un sous-répertoire .git contenant toutes les métadonnées du projet.

Cloner un dépôt distant

Pour copier un dépôt distant existant :

# Cloner un dépôt distant
git clone https://exemple.com/depot.git
git clone ssh://utilisateur@exemple.com/chemin/vers/depot.git

Gestion des fichiers

États des fichiers

Git suit les fichiers dans quatre états :

  • Non suivi : Fichier présent mais non inclus dans le dépôt.
  • Non modifié : Fichier identique à la dernière version validée.
  • Modifié : Fichier altéré depuis la dernière validation.
  • Staged : Fichier marqué pour inclusion dans la prochaine validation.

Vérifier l'état des fichiers

# Afficher l'état d'un fichier spécifique
git status fichier.txt

# Afficher l'état de tous les fichiers
git status

Ajouter des fichiers à la zone de staging

# Ajouter un fichier spécifique
git add fichier1.txt fichier2.txt

# Ajouter tous les fichiers du répertoire
git add .

Annuler les ajouts

# Retirer un fichier de la zone de staging sans le supprimer physiquement
git reset HEAD fichier.txt

# Supprimer un fichier de la zone de staging et de l'espace de travail
git rm fichier.txt

# Renommer un fichier
git mv ancien_nom.txt nouveau_nom.txt

Voir les modifications

# Comparer l'espace de travail et la zone de staging
git diff

# Comparer la zone de staging et la dernière validation
git diff --cached

# Comparer avec une validation spécifique
git diff HEAD~2

Ignorer des fichiers

Créez un fichier .gitignore avec des motifs pour exclure des fichiers :

# Exemples de règles dans .gitignore
*.log
temp/
!important.txt

Valider les modifications

# Valider avec un message descriptif
git commit -m "Message de validation"

# Valider directement les fichiers modifiés (sans ajout préalable)
git commit -a -m "Validation automatique"

# Modifier la dernière validation
git commit --amend -m "Nouveau message"

Annuler une validation

# Revenir à la validation précédente
git reset --hard HEAD~1

# Annuler une validation spécifique en créant une nouvelle validation
git revert abc123

Historique et journalisation

# Afficher l'historique des validations
git log

# Afficher l'historique avec graphique
git log --graph

# Afficher les modifications pour un fichier
git log -p fichier.txt

# Voir les commandes précédentes
history

Gestion des branches

Les branches permettent de travailler sur des fonctionnalités isolées.

Créer et naviguer entre les branches

# Lister les branches locales
git branch

# Créer une nouvelle branche
git branch nouvelle-branche

# Changer de branche
git checkout nouvelle-branche

# Créer et changer vers une nouvelle branche
git checkout -b autre-branche

Fusionner des branches

# Fusionner une branche dans la branche actuelle
git merge autre-branche

En cas de conflit, éditez les fichiers marqués et validez à nouveau.

Supprimer des branches

# Supprimer une branche locale
git branch -d branche-a-supprimer

# Supprimer une branche distante
git push origin --delete branche-distante

Travailler avec des dépôts distants

Ajouter un dépôt distant

# Ajouter un dépôt distant
git remote add origine https://exemple.com/depot.git

Synchroniser avec le distant

# Récupérer les modifications sans fusionner
git fetch origine

# Récupérer et fusionner les modifications
git pull origine branche

# Pousser les modifications locales
git push origine branche

Configurer le suivi des branches

# Lier une branche locale à une branche distante
git branch --set-upstream ma-branche origine/branche-distante

Outils d'aide et statistiques

# Voir l'aide d'une commande
git help commit

# Statistiques de contributions
git shortlog -sn

# Nombre de lignes modifiées
git diff --shortstat "@{1 day ago}"

Étiquettes: Git gestion-de-versions commandes-git branches depots-dists

Publié le 19 juin à 04h22