Utilisation de la fusion et de la suppression de branches
Créons d'abord une branche master, insérons quelques commits, créons une nouvelle branche appelée features, ajoutons quelques commits, puis revenons à master et commitons à nouveau. Voici les commandes :
$mkdirmon jeu
$CDmon jeu
$git init
$chassèrent 'Décision de conception 1 : Brainstarm' >>conception.txt
$git ajouter -À
$git commit -m « C0 : projet démarré »
$chassèrent « Décision de conception 2 : Ecrire du code » >>conception.txt
$git ajouter -À
$git commit -m « C1 : Code soumis »
$branche gitcaractéristiques
$git caissecaractéristiques
$chassèrent « Ajouter la fonctionnalité 1 » >>feature.txt
$git ajouter -À
$git commit -m « C2 : caractéristique 1 »
$chassèrent « Ajouter la fonctionnalité 2 » >>feature.txt
$git ajouter -À
$git commit -m « C3 : caractéristique 2 »
$git caisseMaître
$chassèrent 'Modifier à nouveau le maître' >>conception.txt
$git ajouter -À
$git commit -m « C4 : Maître modifié »
Les commandes ci-dessus ont créé la situation suivante :
Vous pouvez consulter l'historique des deux branches pour voir quels commits elles ont :
$statut git
Sur le maître de branche
rien à valider, répertoire de travail propre
$git log --une ligne
2031b83 C4 : Maître modifié
1c0b64c C1 : Code soumis
$git caissecaractéristiques
Basculé en succursale'caractéristiques'
$git log --une ligne
93d220b C3 : Fonctionnalité2
ad6ddb9 C2 : Fonctionnalité1
1c0b64c C1 : Code soumis
ec0fb48 C0 : Projet démarré
Supposons maintenant que vous souhaitiez apporter toutes les modifications de la branche de fonctionnalités à notre branche principale. Vous devrez démarrer le processus à partir de la destination de la fusion. Parce que nous voulons fusionner dans la branche master, vous devez lancer le processus à partir de là. Voyons donc la branche master :
$git caisseMaîtreBasculé en succursale'Maître'
$statut git
Sur le maître de branche
rien à valider, répertoire de travail propre
Créons maintenant la fusion :
$git fusionnercaractéristiques
S'il n'y a pas de conflits dans la fusion, un éditeur de texte s'ouvrira avec les commentaires :
Fusionner la branche'caractéristiques'# Veuillez saisir un message de validation pour expliquer pourquoi cette fusion est nécessaire,
# surtout s'il fusionne un amont mis à jour dans une branche thématique.
#
# Les lignes commençant par '#' seront ignorées et un message vide sera annulé
# le commit.
Vous pouvez modifier les commentaires ou accepter ceux par défaut. La sortie de fusion devrait afficher des résultats comme ceci :
Fusion faite par le'récursif'stratégie.feature.txt| 2++
1 déposermodifié,2insertions(+)
mode de création100644feature.txt
Après la fusion, vous avez la condition suivante :
Si vous consultez les journaux, vous trouverez :
$statut gitSur le maître de branche
rien à valider, répertoire de travail propre
$git log --une ligne
46539a3 C5 : Fusionner la branche'caractéristiques'
2031b83 C4 : Maître modifié
93d220b C3 : Fonctionnalité2
ad6ddb9 C2 : Fonctionnalité1
1c0b64c C1 : Code soumis
ec0fb48 C0 : Projet démarré
Vous avez fusionné les modifications avec succès. Cependant, la branche de fonctionnalité est toujours présente.
$branche git -àcaractéristiques
*Maître
Vous pouvez le supprimer avec la commande suivante :
$branche git -récaractéristiquesSi vous vérifiez maintenant, vous ne devriez voir que la branche master :
$branche git -à*Maître
Conclusion
Assurez-vous de vérifier régulièrement les branches inutilisées et de les supprimer. Vous voulez garder votre référentiel propre pour le rendre facile à naviguer et à comprendre.