Introduction au Git CLI

Introduction au Git CLI

Ce cours vous apprend les bases de Git CLI. Nous couvrirons l’installation, la configuration, SSH, les opérations de base, la gestion des conflits, Git Flow et les conventions de commit.

1. Installation et Configuration de Git

1.1 Installation de Git

Vérifiez l’installation de Git :

git --version

Si Git n’est pas installé, téléchargez-le depuis le site officiel.

1.2 Configuration de Git

Configurez votre nom et votre email pour les commits :

git config --global user.name "Votre Nom"
git config --global user.email "votre-email@example.com"

1.3 Configuration de SSH

Pour utiliser SSH avec Git, générez une clé SSH et ajoutez-la à votre compte Git :

  1. Générer une clé SSH :

    ssh-keygen -t rsa -b 4096 -C "votre-email@example.com"
  2. Ajouter la clé SSH à l’agent SSH :

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa
  3. Ajouter la clé SSH à votre compte Git :

    cat ~/.ssh/id_rsa.pub

    Collez ce contenu dans la section des clés SSH de votre compte Git (par exemple, GitHub).

Avantages de SSH

2. Opérations de Base

2.1 Cloner un Dépôt

Pour cloner un dépôt :

git clone https://github.com/username/repository.git

2.2 Fetch

Pour récupérer les dernières modifications du dépôt distant sans les fusionner :

git fetch origin

2.3 Pull

Pour récupérer et fusionner les dernières modifications du dépôt distant :

git pull origin main

2.4 Ajouter des Fichiers

Pour ajouter des fichiers à la zone de staging :

git add fichier1 fichier2

Pour ajouter tous les fichiers modifiés :

git add .

2.5 Commit

Pour valider les modifications :

git commit -m "Description des modifications"

2.6 Rebase

Pour réappliquer vos commits sur la dernière version du dépôt distant :

git rebase origin/main

2.7 Merge

Pour fusionner une branche dans la branche courante :

git merge nom-de-la-branche

2.8 Stash

Pour sauvegarder les modifications non validées :

git stash

Pour récupérer les modifications sauvegardées :

git stash pop

3. Gestion des Conflits

3.1 Résolution de Conflits lors d’un Rebase

Si des conflits surviennent lors d’un rebase, Git vous indiquera les fichiers concernés. Ouvrez ces fichiers et résolvez les conflits manuellement. Une fois les conflits résolus, ajoutez les fichiers modifiés :

git add fichier1 fichier2

Puis continuez le rebase :

git rebase --continue

3.2 Finir un Rebase

Si vous souhaitez abandonner un rebase en cours :

git rebase --abort

4. Git Flow et Conventional Commit

4.1 Git Flow

Git Flow est une méthode de gestion de branches pour Git qui aide à organiser le développement de logiciels. Elle définit une structure de branches standardisée pour gérer les fonctionnalités, les releases et les hotfixes. Voici les principales branches utilisées dans Git Flow :

4.2 Conventional Commit

Les commits conventionnels suivent une structure spécifique pour faciliter la lecture et la compréhension des modifications. Cette convention aide à générer automatiquement des journaux de changements et à semaphorer les versions des logiciels. Voici la structure d’un commit conventionnel :

<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>

Voici quelques exemples de commits conventionnels :

5. Récapitulatif des Commandes

5.1 Commandes de Base

CommandeDescription
git cloneCloner un dépôt
git fetchRécupérer les dernières modifications
git pullRécupérer et fusionner les dernières modifications
git addAjouter des fichiers à la zone de staging
git commitValider les modifications
git rebaseRéappliquer les commits sur la dernière version
git mergeFusionner une branche dans la branche courante
git stashSauvegarder les modifications non validées

5.2 Commandes Chainées

Commandes ChainéesDescription
git fetch && git pullRécupérer et fusionner les dernières modifications
git fetch && git checkout -b nom-de-la-branche origin/nom-de-la-branche && git branch --set-upstream-to=origin/nom-de-la-brancheCloner une branche distante et la suivre

5.3 Pourquoi utiliser origin/main plutôt que main ?

Utiliser origin/main spécifie explicitement que vous travaillez avec la branche main du dépôt distant origin. Cela évite toute ambiguïté et garantit que vous travaillez avec la version la plus récente du dépôt distant.

Pour plus d’informations sur les commandes Git, consultez la documentation officielle.