Introduction
🧑💻 Nouveau dans Git ou LabEx? Nous vous recommandons de commencer par le cours Quick Start with Git.
Git est un puissant système de contrôle de versions qui permet aux développeurs de suivre les modifications apportées à leur codebase. L'une des fonctionnalités utiles de Git est la capacité de déplacer des commits d'une branche à une autre. Cela peut être pratique lorsque vous réalisez que certaines modifications que vous avez apportées à la branche master auraient dû être effectuées sur une branche distincte. Dans ce laboratoire, vous allez apprendre à déplacer des commits de la branche master vers une nouvelle branche.
Décaler des commits vers une nouvelle branche
Pour ce laboratoire, utilisons le référentiel de https://github.com/labex-labs/git-playground. Vous avez travaillé sur un projet dans la branche master. Vous réalisez que certaines des modifications que vous avez apportées auraient dû être effectuées sur une branche distincte. Vous voulez déplacer ces modifications vers une nouvelle branche appelée feature.
- Clonez le référentiel, accédez au répertoire et configurez l'identité :
git clone https://github.com/labex-labs/git-playground
cd git-playground
git config --global user.name "votre-nom-d'utilisateur"
git config --global user.email "votre-email"
- Basculez sur la branche
master:
git checkout master
- Créez un fichier appelé
hello.txt, ajoutez "hello, world" à celui-ci, ajoutez-le à la zone de préparation et soumettez-le avec le message "Ajouté hello.txt" :
echo "hello,world" >> hello.txt
git add.
git commit -m "Ajouté hello.txt"
- Créez une nouvelle branche appelée
featuresans basculer sur elle. Lorsque vous créez une nouvelle branche à partir de la branchemaster, l'état de la nouvelle branche est le même que celui de la branchemaster, c'est-à-dire que les fichiers dans la nouvelle branche sont les mêmes que ceux dans la branchemaster, avec le même contenu et l'historique de versions :
git branch feature
- Annulez le dernier commit sur
master:
git reset HEAD~1 --hard
- Vérifiez l'historique des commits sur la branche
masteret l'historique des commits sur la branchefeaturepour vérifier les résultats :
git log
git checkout feature
git log
Voici le résultat de l'exécution de git log :
commit 7969ab5d6606e2a40c9fd826c732206b835976e9 (HEAD -> feature)
Author: xiaoshengyunan <@users.noreply.github.com>
Date: Fri Jul 21 20:19:22 2023 +0800
Ajouté hello.txt
Résumé
Décaler des commits d'une branche à une autre peut être une fonctionnalité utile lorsqu'on travaille avec Git. Dans ce laboratoire, vous avez appris à déplacer des commits de la branche master vers une nouvelle branche en utilisant les commandes git branch, git reset et git checkout. Rappelez-vous que cela ne fonctionne que si les modifications ont été seulement validées localement et non poussées vers le distant.