Guide pour déplacer les commits récents vers une nouvelle branche

Git Commands

Gestion efficace des succursales dans Git

Lorsque l'on travaille sur un projet dans Git, il est courant de se rendre compte que certains commits auraient dû être effectués sur une branche différente. Cela peut se produire pour diverses raisons, telles que la nécessité d'isoler les fonctionnalités ou de maintenir un historique de projet plus propre.

Dans ce guide, nous explorerons comment déplacer les commits récents de la branche master vers une nouvelle branche, réinitialisant ainsi efficacement le master à un état précédent. En suivant ces étapes, vous pouvez vous assurer que votre projet reste bien organisé et facile à gérer.

Commande Description
git checkout -b newbranch Crée et bascule vers une nouvelle branche nommée "newbranch".
git log --oneline Affiche l'historique des validations dans un format concis, affichant une validation par ligne.
git reset --hard [commit hash] Réinitialise la branche actuelle à la validation spécifiée, en annulant toutes les modifications après cette validation.
git cherry-pick [commit hash] Applique les modifications du commit spécifié à la branche actuelle.
git cherry-pick $(git log --pretty=format:"%H" B..HEAD) Applique les modifications d’une plage de validations à la branche actuelle.
$(git log --pretty=format:"%H") Utilise une commande shell pour formater et répertorier les hachages de validation.

Comprendre les scripts de commande Git

Le premier script commence par passer au branchez avec la commande , puis il crée et bascule vers une nouvelle branche nommée en utilisant git checkout -b newbranch. Le script utilise pour afficher l'historique des validations de manière concise, permettant à l'utilisateur d'identifier le hachage de validation pour la validation . Le La commande réinitialise ensuite le master branche à valider , supprimant efficacement les commits suivants de .

Ensuite, le script passe au en utilisant et applique les modifications des commits , D, et en utilisant pour chaque commit. Le deuxième script est un script shell automatisé qui obtient le même résultat. Il définit des variables pour les noms de branche et le commit de démarrage, utilise pour réinitialiser le master branche, et applique les commits à avec , simplifiant le processus pour une utilisation répétée.

Déplacer les validations du maître vers une nouvelle branche

Commandes Git pour la gestion des succursales

git checkout master
git checkout -b newbranch
git log --oneline
# Identify the hash of the commit B
git reset --hard [commit hash of B]
git checkout newbranch
git cherry-pick [commit hash of C]
git cherry-pick [commit hash of D]
git cherry-pick [commit hash of E]
# Verify changes

Déplacer automatiquement les commits récents vers une nouvelle branche

Script Shell pour automatiser les tâches Git

#!/bin/bash
MASTER_BRANCH="master"
NEW_BRANCH="newbranch"
START_COMMIT="B"
git checkout $MASTER_BRANCH
git checkout -b $NEW_BRANCH
git reset --hard $START_COMMIT
git cherry-pick $(git log --pretty=format:"%H" $START_COMMIT..HEAD)
echo "Commits moved to $NEW_BRANCH and $MASTER_BRANCH reset."
# End of script

Techniques Git avancées pour la gestion des succursales

Un autre aspect important de la gestion des branches dans Git est la possibilité de rebaser les branches. Le rebasage vous permet d'intégrer les modifications d'une branche dans une autre en appliquant les modifications de la branche de base au-dessus de la branche cible. Cette méthode peut aider à maintenir un historique de projet linéaire et à simplifier la structure de validation. Par exemple, si vous avez une branche de fonctionnalités qui a divergé de la branche principale, vous pouvez utiliser sur votre branche de fonctionnalités pour intégrer les dernières modifications de la branche principale.

De plus, le rebasage interactif avec offre plus de contrôle sur l’historique des validations. Vous pouvez réorganiser, écraser ou modifier les validations au cours d'une session de rebase interactive, ce qui facilite le nettoyage de votre historique de validation avant de fusionner les modifications dans la branche principale. Ceci est particulièrement utile pour les grands projets avec plusieurs contributeurs, garantissant que l'historique des validations reste propre et compréhensible.

  1. Comment créer une nouvelle branche dans Git ?
  2. Vous pouvez créer une nouvelle branche en utilisant la commande .
  3. Quel est le but de ?
  4. Le La commande est utilisée pour appliquer les modifications d’un commit spécifique à la branche actuelle.
  5. Comment puis-je afficher l’historique des validations dans Git ?
  6. Vous pouvez afficher l'historique des validations en utilisant ou pour une vue concise.
  7. Qu'est-ce que faire?
  8. Le La commande réinitialise la branche actuelle à une validation spécifiée et annule toutes les modifications après cette validation.
  9. Comment fusionner les modifications d’une branche à une autre ?
  10. Vous pouvez fusionner les modifications à l'aide de la commande sur la branche cible.
  11. Quelle est la différence entre fusionner et rebaser dans Git ?
  12. Alors que intègre les modifications en créant un commit de fusion, applique les modifications d’une branche à l’autre, ce qui donne un historique de validation linéaire.
  13. Comment puis-je annuler un commit dans Git ?
  14. Vous pouvez annuler un commit en utilisant pour créer un nouveau commit qui annule les modifications, ou pour supprimer le commit de l'historique.
  15. Comment basculer entre les branches dans Git ?
  16. Vous pouvez basculer entre les branches en utilisant .
  17. A quoi sert ?
  18. Le La commande est utilisée pour le rebasage interactif, vous permettant de réorganiser, d'écraser ou de modifier les validations pendant le processus de rebase.

Gérer avec succès les branches dans Git implique de comprendre une variété de commandes et de pratiques qui garantissent que les historiques de projets restent propres et que les efforts de développement sont compartimentés efficacement. Ce guide met en évidence les techniques cruciales pour déplacer les commits vers de nouvelles branches et rétablir la branche principale à un état antérieur, qui sont essentielles pour corriger les erreurs de branchement ou aligner les délais du projet. En maîtrisant ces compétences, les développeurs peuvent améliorer la collaboration, rationaliser les processus de développement et maintenir une ligne principale stable tout en continuant à innover et à ajouter des fonctionnalités.

La gestion des branches dans Git est cruciale pour maintenir un historique de projet propre et efficace. En déplaçant les commits récents vers une nouvelle branche et en réinitialisant la branche principale, vous pouvez isoler les modifications et garantir que votre branche principale reste stable. Ce processus implique l'utilisation de commandes telles que , , et . Une bonne gestion de succursale aide non seulement à maintenir l’organisation du projet, mais facilite également la collaboration entre les membres de l’équipe.

Comprendre et utiliser efficacement ces commandes Git vous permet de gérer des flux de travail de projet complexes et de maintenir une base de code structurée. Avec de la pratique, ces techniques deviennent un élément inestimable de votre boîte à outils de développement, vous permettant de gérer les modifications et les mises à jour en toute confiance.