Bases de la fusion et de la suppression des branches

Bases de la fusion et de la suppression des branches
La branche peut vous aider à garder votre travail organisé. Cependant, vous devez être en mesure de fusionner votre travail afin de rendre le travail cohérent. Si vous ne fusionnez et ne supprimez jamais les branches, votre histoire pourrait devenir trop chaotique pour comprendre.

Travailler avec la fusion et la suppression de la succursale

Créons d'abord une branche maître, mettons quelques engins, créons une nouvelle branche appelée fonctionnalités, ajoutez quelques engins, puis reviens au maître et à recommander. Voici les commandes:

$ mkdir mygame
$ cd mygame
$ git init
$ echo "Design Decision 1: Brininestarm" >> Design.SMS
$ git add -a
$ git commit -m "C0: Project démarré"
$ echo "Design Decision 2: Write Code" >> Conception.SMS
$ git add -a
$ git commit -m "C1: Code soumis"
$ Fonctionnalités de la succursale Git
$ fonctionnalités de paiement
$ echo "Ajouter une fonctionnalité 1" >> fonctionnalité.SMS
$ git add -a
$ git commit -m "C2: Fonction 1"
$ echo "Ajouter la fonctionnalité 2" >>.SMS
$ git add -a
$ git commit -m "C3: Fonction 2"
$ maître de paiement
$ echo "Modification Master Again" >> Design.SMS
$ git add -a
$ git commit -m "c4: maître modifié"

Les commandes ci-dessus ont créé la situation suivante:

Vous pouvez vérifier l'histoire des deux branches pour voir quels engagements ils ont:

$ statut git
Sur Branch Master
Rien à commettre, répertoire en activité propre
$ Git Log --Oneline
2031B83 C4: Master modifié
1C0B64C C1: Code soumis
$ fonctionnalités de paiement
Basculé vers la branche 'fonctionnalités'
$ Git Log --Oneline
93d220b C3: Fonction 2
AD6DDB9 C2: Caractéristique 1
1C0B64C C1: Code soumis
EC0FB48 C0: Projet démarré

Supposons maintenant que vous voulez apporter toutes les modifications de la branche des fonctionnalités de notre branche principale. Vous devrez démarrer le processus à partir de la destination de la fusion. Parce que nous voulons fusionner dans la branche principale, vous devez lancer le processus à partir de là. Voyons donc la branche maître:

$ maître de paiement
Changé de succursale «maître»
$ statut git
Sur Branch Master
Rien à commettre, répertoire en activité propre

Créons maintenant la fusion:

$ git fusiter les fonctionnalités

S'il n'y a pas de conflits dans la fusion, vous obtiendrez un éditeur de texte ouvert avec les commentaires:

Fusion de la succursale «fonctionnalités»
# 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 de sujet.
#
# Les lignes commençant par '#' seront ignorées, et un message vide abandonne
# le commit.

Vous pouvez modifier les commentaires ou accepter les par défaut. La sortie de fusion doit montrer des résultats comme ceci:

Fusionner la stratégie «récursive».
fonctionnalité.txt | 2 ++
1 fichier modifié, 2 insertions (+)
Création du mode 100644.SMS

Après la fusion, vous avez la condition suivante:

Si vous vérifiez les journaux, vous trouverez:

$ statut git
Sur Branch Master
Rien à commettre, répertoire en activité propre
$ Git Log --Oneline
46539A3 C5: Fusiter Branch 'Fonctionnalités'
2031B83 C4: Master modifié
93d220b C3: Fonction 2
AD6DDB9 C2: Caractéristique 1
1C0B64C C1: Code soumis
EC0FB48 C0: Projet démarré

Vous avez réussi à fusionner les changements. Cependant, la branche des fonctionnalités est toujours présente.

$ Git Branch -a
caractéristiques
* maître

Vous pouvez le supprimer avec la commande suivante:

$ GIT BRANCH -D Fonctionnalités

Si vous vérifiez maintenant, vous ne devriez voir que la branche maître:

$ Git Branch -a
* maître

Conclusion

Assurez-vous de vérifier régulièrement les succursales inutilisées et de les supprimer. Vous souhaitez garder votre référentiel propre pour faciliter la navigation et comprendre.

Lire plus approfondie:

  • https: // git-scm.com / book / en / v2 / git-branching-basic-ranching-and-werging