Guide : Déplacer les commits Git récents vers une nouvelle branche

Guide : Déplacer les commits Git récents vers une nouvelle branche
Guide : Déplacer les commits Git récents vers une nouvelle branche

Réorganisez vos commits Git

Git est un puissant système de contrôle de version qui aide les développeurs à gérer efficacement les modifications apportées à leurs projets. Parfois, vous devrez peut-être déplacer les validations récentes de la branche principale vers une nouvelle branche. Cela peut être dû à diverses raisons, telles que l'isolement de nouvelles fonctionnalités ou la séparation du travail expérimental du projet principal.

Dans ce guide, nous vous guiderons à travers les étapes pour déplacer vos derniers commits vers une nouvelle branche et réinitialiser votre branche principale à un état précédent. En suivant ces instructions, vous conserverez un historique de validation propre et organisé, garantissant que votre projet reste gérable et compréhensible pour tous les membres de l'équipe.

Commande Description
git checkout -b newbranch Crée une nouvelle branche nommée « newbranch » et y bascule immédiatement.
git reset --hard HEAD~3 Réinitialise la branche actuelle à l'état dans lequel elle se trouvait il y a trois validations, en annulant toutes les modifications.
git push origin newbranch Pousse la branche « newbranch » vers le référentiel distant nommé « origin ».
git push origin master --force Met à jour de force la branche « maître » distante pour qu'elle corresponde à la branche « maître » locale, même si elle réécrit l'historique.
git branch newbranch Crée une nouvelle branche nommée « newbranch » sans y accéder.
git cherry-pick C D E Applique les modifications introduites par les commits spécifiés (C, D et E) à la branche actuelle.
git log --oneline --graph Affiche une représentation graphique concise de l’historique des validations.

Explication détaillée des commandes Git

Les scripts fournis montrent comment déplacer les commits récents vers une nouvelle branche et réinitialiser le master branchement vers un état antérieur. Tout d'abord, la commande git checkout -b newbranch crée une nouvelle branche nommée newbranch et y passe. Ceci est suivi par git reset --hard HEAD~3, qui réinitialise le master branchez vers l'état dans lequel il se trouvait il y a trois commits, supprimant ainsi les derniers commits. Cette commande est cruciale pour nettoyer l’historique des validations en supprimant les modifications indésirables.

Ensuite, la commande git push origin newbranch pousse la branche nouvellement créée vers le référentiel distant, la rendant disponible pour la collaboration. Finaliser, git push origin master --force met à jour de force la télécommande master branche pour correspondre à l’état local, même si cela implique de réécrire l’histoire. Le deuxième script met en évidence git branch newbranch pour créer une nouvelle branche sans y accéder, et git cherry-pick C D E pour appliquer des commits spécifiques d’une branche à une autre. Enfin, dix fournit une représentation visuelle de l’historique des validations, facilitant la vérification des modifications.

Déplacer les commits récents vers une nouvelle branche dans Git

Utiliser les commandes Git

# Create a new branch and switch to it
git checkout -b newbranch

# Reset the master branch to the previous state
git checkout master
git reset --hard HEAD~3

# Push the new branch to the remote repository
git push origin newbranch

# Force push the reset master branch to the remote repository
git push origin master --force

Création et passage à une nouvelle branche dans Git

Utiliser Git Bash

# Step 1: Check the current branch
git branch

# Step 2: Create a new branch
git branch newbranch

# Step 3: Move commits to the new branch
git checkout newbranch
git cherry-pick C D E

# Step 4: Verify the branches
git log --oneline --graph

Comprendre la gestion des branches et de l'historique Git

Un autre aspect important du travail avec Git est la gestion des historiques de branche pour garder le référentiel propre et maintenable. Lors du déplacement de commits récents vers une nouvelle branche, il est essentiel de comprendre l’impact sur la collaboration. Par exemple, forcer les changements avec git push origin master --force peut perturber le travail des membres de l'équipe s'ils ont déjà basé leur travail sur ces commits. Il est donc crucial de communiquer avec votre équipe avant d’effectuer de tels changements.

De plus, vous pouvez utiliser git rebase pour maintenir un historique de projet linéaire. Le rebasage vous permet de déplacer ou de combiner des commits, garantissant ainsi que l'historique des commits reste organisé et facile à suivre. Cette pratique est particulièrement utile dans les branches de fonctionnalités de longue durée dans lesquelles vous souhaitez incorporer des mises à jour de la branche principale sans créer de validations de fusion inutiles. La maîtrise de ces techniques améliorera considérablement votre flux de travail et votre collaboration Git.

Foire aux questions sur la gestion des branches Git

  1. Comment créer une nouvelle branche dans Git ?
  2. Utilisez la commande git branch branch_name pour créer une nouvelle branche.
  3. Quel est le but de git reset --hard?
  4. Il réinitialise la branche actuelle à un état spécifique, annulant toutes les modifications apportées après ce point.
  5. Comment puis-je voir une représentation visuelle de mon historique Git ?
  6. Utiliser dix pour afficher un historique de validation graphique et concis.
  7. Pourquoi devrais-je éviter d'utiliser git push --force?
  8. La poussée forcée peut écraser l’historique à distance et perturber le travail des collaborateurs. Utilisez-le avec prudence.
  9. Qu'est-ce que git cherry-pick faire?
  10. Il applique les modifications de commits spécifiques à la branche actuelle.
  11. Comment puis-je incorporer les mises à jour de la branche principale sans validation de fusion ?
  12. Utiliser git rebase master pour réappliquer vos modifications au-dessus de la dernière branche principale.
  13. Quel est l’avantage de maintenir un historique de projet linéaire ?
  14. Cela rend l’historique des validations plus facile à comprendre et à suivre, ce qui est utile pour la collaboration.
  15. Comment changer de branche dans Git ?
  16. Utiliser git checkout branch_name pour passer à une branche existante.
  17. Puis-je récupérer les commits qui ont été réinitialisés avec git reset --hard?
  18. Oui, utilisez git reflog pour trouver le hachage de validation et y revenir.

Étapes pour déplacer les commits Git récents

Un autre aspect important du travail avec Git est la gestion des historiques de branche pour garder le référentiel propre et maintenable. Lors du déplacement de commits récents vers une nouvelle branche, il est essentiel de comprendre l’impact sur la collaboration. Par exemple, forcer les changements avec git push origin master --force peut perturber le travail des membres de l'équipe s'ils ont déjà basé leur travail sur ces commits. Il est donc crucial de communiquer avec votre équipe avant d’effectuer de tels changements.

De plus, vous pouvez utiliser git rebase pour maintenir un historique de projet linéaire. Le rebasage vous permet de déplacer ou de combiner des commits, garantissant ainsi que l'historique des commits reste organisé et facile à suivre. Cette pratique est particulièrement utile dans les branches de fonctionnalités de longue durée dans lesquelles vous souhaitez incorporer des mises à jour de la branche principale sans créer de validations de fusion inutiles. La maîtrise de ces techniques améliorera considérablement votre flux de travail et votre collaboration Git.

Points clés à retenir pour le branchement Git

La maîtrise des commandes Git pour la gestion des succursales est essentielle 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 maintenir la stabilité de votre branche principale. Comprendre les commandes comme git reset, git cherry-pick, et git rebase peut grandement améliorer votre flux de travail et votre collaboration. Communiquez toujours avec votre équipe avant d'apporter des changements importants pour éviter de perturber leur travail.