Transférer les modifications non validées vers une nouvelle branche Git

Transférer les modifications non validées vers une nouvelle branche Git
Transférer les modifications non validées vers une nouvelle branche Git

Créer une nouvelle branche pour votre travail non engagé

Lors du développement de nouvelles fonctionnalités, il est courant de se rendre compte que les modifications doivent être isolées dans leur propre branche. Cela permet une meilleure organisation et un développement parallèle. Si vous avez commencé à travailler sur une nouvelle fonctionnalité et décidez à mi-chemin qu'elle doit résider dans une branche distincte, Git fournit un moyen simple de transférer ces modifications non validées.

Dans cet article, nous vous guiderons tout au long du processus de déplacement de votre travail existant et non engagé vers une nouvelle branche. De plus, vous apprendrez comment réinitialiser votre branche actuelle sans perdre aucune de votre progression. Cela garantit que votre flux de travail reste propre et efficace.

Commande Description
git checkout -b <branch-name> Crée une nouvelle branche et y bascule.
git add . Organise toutes les modifications non validées dans le répertoire de travail.
git commit -m "message" Valide les modifications par étapes avec un message descriptif.
git checkout - Revient à la branche précédemment extraite.
git reset --hard HEAD~1 Réinitialise la branche actuelle à la validation précédente, en ignorant les modifications.
#!/bin/bash Spécifie que le script doit être exécuté dans le shell bash.

Comprendre le workflow Git pour gérer le travail non validé

Dans le premier exemple de script, nous déplaçons manuellement les modifications non validées vers une nouvelle branche à l'aide d'une série de commandes Git. Le processus commence par git checkout -b new-feature-branch, qui crée une nouvelle branche nommée "new-feature-branch" et y bascule. Ceci est essentiel pour isoler le travail de la nouvelle fonctionnalité de la branche principale. Ensuite, nous mettons en scène toutes les modifications non validées avec git add .. Cette commande garantit que tous les fichiers modifiés et nouveaux sont prêts à être validés. Suite à cela, le git commit -m "Move uncommitted work to new feature branch" La commande valide ces modifications dans la nouvelle branche avec un message expliquant l'action.

Après avoir sécurisé les modifications dans la nouvelle branche, nous revenons à la branche d'origine avec git checkout original-branch. Pour réinitialiser la branche d'origine à son état précédent, nous utilisons git reset --hard HEAD~1. Cette commande réinitialise de force la branche à la validation précédente, annulant toutes les modifications apportées depuis lors. Cette série de commandes garantit que le travail sur la nouvelle fonctionnalité est préservé dans sa propre branche tandis que la branche d'origine est réinitialisée à un état propre.

Automatisation du processus avec un script Shell

Le deuxième exemple de script automatise ce processus à l'aide d'un script shell. Le script commence par vérifier si un nouveau nom de branche a été fourni avec if [ -z "$1" ]; then, qui quitte le script si aucun nom n'est donné. La variable NEW_BRANCH=$1 attribue le nom de branche fourni à une variable. Le script crée ensuite et bascule vers cette nouvelle branche avec git checkout -b $NEW_BRANCH. Toutes les modifications non validées sont mises en scène à l'aide de git add ., et engagé avec git commit -m "Move uncommitted work to $NEW_BRANCH".

Après avoir validé les modifications, le script revient à la branche précédente en utilisant dix. La commande finale git reset --hard HEAD~1 réinitialise la branche d'origine à sa validation précédente, en garantissant qu'elle est propre et exempte des modifications qui ont été déplacées vers la nouvelle branche. Ce script shell fournit un moyen pratique d'automatiser le processus de déplacement du travail non validé vers une nouvelle branche et de réinitialisation de la branche actuelle, facilitant ainsi la gestion de votre flux de travail dans Git.

Déplacer les modifications non validées vers une nouvelle branche dans Git

Utiliser la ligne de commande Git

# Step 1: Create a new branch and switch to it
git checkout -b new-feature-branch

# Step 2: Stage all uncommitted changes
git add .

# Step 3: Commit the staged changes
git commit -m "Move uncommitted work to new feature branch"

# Step 4: Switch back to the original branch
git checkout original-branch

# Step 5: Reset the original branch to the previous commit
git reset --hard HEAD~1

Transférer le travail vers une nouvelle succursale tout en préservant le progrès

Utilisation d'un script Shell pour l'automatisation

#!/bin/bash

# Check if the user provided a branch name
if [ -z "$1" ]; then
  echo "Usage: $0 <new-branch-name>"
  exit 1
fi

NEW_BRANCH=$1

# Create and switch to the new branch
git checkout -b $NEW_BRANCH

# Stage all uncommitted changes
git add .

# Commit the changes
git commit -m "Move uncommitted work to $NEW_BRANCH"

# Switch back to the original branch
git checkout -

# Reset the original branch
git reset --hard HEAD~1

Création et gestion de branches de fonctionnalités dans Git

Lorsque vous travaillez avec Git, il est important de garder votre flux de travail organisé, en particulier lors du développement de nouvelles fonctionnalités. Une bonne pratique consiste à utiliser des branches de fonctionnalités. Une branche de fonctionnalités vous permet de travailler sur une nouvelle fonctionnalité indépendamment de la base de code principale. Cet isolement permet d'éviter qu'un code inachevé ou instable n'affecte la branche principale. Pour créer une branche de fonctionnalités, utilisez la commande git checkout -b feature-branch. Cela crée non seulement la branche, mais vous y dirige également, garantissant ainsi que tout nouveau travail est effectué dans le contexte correct.

Une fois que vous avez créé votre branche de fonctionnalités, vous pouvez travailler sur votre nouvelle fonctionnalité sans affecter la branche principale. Ceci est particulièrement utile dans un environnement collaboratif où plusieurs développeurs travaillent simultanément sur différentes fonctionnalités. Lorsque votre fonctionnalité est complète et minutieusement testée, vous pouvez la fusionner dans la branche principale en utilisant git merge feature-branch. De cette façon, la branche principale ne contient que du code stable et complet. Si vous devez mettre à jour votre branche de fonctionnalités avec les dernières modifications de la branche principale, vous pouvez utiliser git rebase main lorsque vous êtes sur votre branche de fonctionnalités, en vous assurant qu'elle est à jour.

Foire aux questions sur la gestion des branches Git

  1. Qu’est-ce qu’une branche de fonctionnalités ?
  2. Une branche de fonctionnalités est une branche distincte créée pour développer une nouvelle fonctionnalité indépendamment de la base de code principale.
  3. Comment créer une nouvelle branche dans Git ?
  4. Vous pouvez créer une nouvelle branche en utilisant git checkout -b branch-name.
  5. Comment basculer entre les branches dans Git ?
  6. Utiliser git checkout branch-name pour passer à une branche existante.
  7. Comment fusionner une branche de fonctionnalités dans la branche principale ?
  8. Pour fusionner une branche de fonctionnalités, passez à la branche principale et utilisez git merge feature-branch.
  9. Comment mettre à jour ma branche de fonctionnalités avec les dernières modifications de la branche principale ?
  10. Lorsque vous êtes sur votre branche de fonctionnalités, utilisez git rebase main pour intégrer les dernières modifications.
  11. Que faire si je souhaite supprimer une branche après la fusion ?
  12. Vous pouvez supprimer une branche en utilisant git branch -d branch-name.
  13. Comment lister toutes les branches de mon référentiel ?
  14. Utiliser git branch pour lister toutes les branches.
  15. Puis-je renommer une branche dans Git ?
  16. Oui, utilisez git branch -m old-name new-name pour renommer une branche.
  17. Comment puis-je vérifier sur quelle branche je me trouve actuellement ?
  18. Utiliser git status ou git branch pour voir la branche actuelle.
  19. Que se passe-t-il si j'essaie de fusionner une branche présentant des conflits ?
  20. Git vous demandera de résoudre les conflits avant de terminer la fusion. Utiliser git status pour voir les fichiers avec des conflits et les modifier en conséquence.

Dernières pensées:

Déplacer le travail non validé vers une nouvelle branche dans Git est une technique précieuse pour maintenir un flux de travail de développement organisé et propre. En utilisant les commandes et scripts fournis, vous pouvez facilement créer une nouvelle branche pour votre fonctionnalité, valider vos modifications et réinitialiser votre branche actuelle. Cette approche préserve non seulement votre progression, mais maintient également votre branche principale stable et exempte de fonctionnalités incomplètes. L'adoption de ces pratiques améliorera votre productivité et facilitera une meilleure collaboration entre les membres de l'équipe.