Décaler des commits vers une nouvelle branche

GitGitBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

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.

  1. 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"
  1. Basculez sur la branche master :
git checkout master
  1. 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"
  1. Créez une nouvelle branche appelée feature sans basculer sur elle. Lorsque vous créez une nouvelle branche à partir de la branche master, l'état de la nouvelle branche est le même que celui de la branche master, c'est-à-dire que les fichiers dans la nouvelle branche sont les mêmes que ceux dans la branche master, avec le même contenu et l'historique de versions :
git branch feature
  1. Annulez le dernier commit sur master :
git reset HEAD~1 --hard
  1. Vérifiez l'historique des commits sur la branche master et l'historique des commits sur la branche feature pour 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.