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.