Dans cette leçon, nous ferons ce qui suit:
La leçon devrait vous donner une compréhension globale du processus de création et de suppression des succursales, vous avez donc une bonne commande sur les étapes nécessaires lorsque vous devez supprimer une branche locale ou distante.
Commençons.
Créons un dossier appelé projet.git et initialiser pour être le référentiel distant:
$ MKDIR Project.git
PROJET $ CD.git
$ git init -bare
Initialisation du référentiel git vide dans / utilisateurs / zak / _Work / Learngit / git_delete_branch / projet.git /
2. Création d'une copie locale du référentiel distant
Dans un nouvel emplacement, créons une copie locale appelée project_local du référentiel distant à l'aide de la commande clone.
Remarque: Si vous travaillez avec le github ou le bitbucket, vous suivrez le même processus pour cloner le référentiel. Dans ce cas, vous aurez un lien SSH au lieu du chemin complet de fichier utilisé ici.
$ git clone / utilisateurs / zak / _Work / Learngit / git_delete_branch / projet.git project_local
Clonage dans 'project_local'…
AVERTISSEMENT: vous semblez avoir cloné un référentiel vide.
fait.
3. Création de branches à l'intérieur de la copie locale
Ajoutons d'abord un fichier à la copie locale, puis le poussons vers le référentiel distant:
$ cd project_local
$ tactile readme.SMS
$ git add -a
$ git commit -m "Initialisation du module"
[Master (Root-Commit) 81EB2A3] Initialisation du module
1 fichier modifié, 0 insertions (+), 0 suppressions (-)
Créer le mode 100644 Readme.SMS
$ git push origin maître
Compter les objets: 3, fait.
Écriture d'objets: 100% (3/3), 221 octets | 0 octets / s, fait.
Total 3 (delta 0), réutilisé 0 (delta 0)
Vers / utilisateurs / zak / _Work / Learngit / git_delete_branch / projet.git
* [New Branch] Master -> Master
Dans les commandes ci-dessus, nous avons créé un fichier appelé ReadMe.TXT, l'a ajouté à la copie locale, l'a engagée à la copie locale, puis a poussé les modifications au référentiel distant ou à la branche maître d'Origin.
Si vous vérifiez les succursales, vous verrez la branche principale de la copie locale:
Branche Git $
* maître
Si vous vérifiez les branches distantes, vous verrez également la branche maître:
$ Git Branch -r
Origine / Maître
Astuce: vous pouvez utiliser l'option «-a» pour voir toutes les branches des référentiels locaux et distants ensemble.
$ Git Branch -a
* maître
télécommandes / origine / maître
Créons deux branches appelées B1 et B2 à partir de la branche maître:
$ Git Branch B1
$ Git Branch B2
Vérifions si les branches ont été créées:
Branche Git $
b1
b2
* maître
Maintenant, nous allons apporter des modifications aux branches:
$ git Checkout B1
Passé à la branche «B1»
$ touch Branch1.SMS
$ git add -a
$ git commit -m "Branch1 Modification"
[B1 A2F488E] Branch1 Modification
1 fichier modifié, 0 insertions (+), 0 suppressions (-)
Créer le mode 100644 branche1.SMS
$ Git Checkout B2
Chassé à la branche 'B2'
$ touch Branch2.SMS
$ git add -a
$ git commit -m "Branch2 Modification"
[B2 2ABB723] BRANCH2 Modification
1 fichier modifié, 0 insertions (+), 0 suppressions (-)
Créer le mode 100644 branche2.SMS
Vérifions les statuts de branche locales et distantes:
Branche Git $
b1
* B2
maître
$ Git Branch -r
Origine / Maître
Nous pouvons voir localement, nous avons trois branches Maître, B1 et B2. Mais nous n'avons que la branche maître dans le référentiel distant.
4. Pousser les branches vers le référentiel distant
Poussons la branche B1 vers le référentiel distant:
$ git push origine b1
Compter les objets: 2, fait.
Compression delta en utilisant jusqu'à 4 threads.
Compression des objets: 100% (2/2), fait.
Écriture d'objets: 100% (2/2), 249 octets | 0 octets / s, fait.
Total 2 (Delta 0), réutilisé 0 (Delta 0)
Vers / utilisateurs / zakh / _Work / Learngit / git_delete_branch / projet.git
* [Nouvelle branche] B1 -> B1
Vous pouvez vérifier les statuts de branche locaux et distants:
Branche Git $
b1
* B2
maître
$ Git Branch -r
Origine / B1
Origine / Maître
À partir des statuts de branche ci-dessus, nous pouvons voir que la branche B1 est également disponible à distance.
5. Suppression des branches localement
Vous pouvez supprimer les branches localement avec l'option -d ou -d.
Git Branch -d
Voyons d'abord dans la branche maître, afin que nous puissions supprimer les branches B1 et B2.
$ maître de paiement
Changé de succursale «maître»
Votre branche est à jour avec «Origin / Master».
Essayons d'abord l'option -D pour supprimer la branche B1:
$ Git Branch -d B1
Erreur: la branche «b1» n'est pas entièrement fusionnée.
Si vous êtes sûr de souhaiter le supprimer, exécutez 'Git Branch -d B1'.
L'erreur vous indique que vous devez fusionner les modifications de la branche B1. Ceci est une sauvegarde, donc vous ne perdez pas par erreur votre travail sur les succursales. Vous pouvez utiliser l'option -D pour forcer la suppression de la fusion. Mais dans ce cas, fusionnons les modifications de B1 et B2 dans Master et passons à le référentiel distant.
$ git fusiter b1
Mise à jour 81EB2A3… A2F488E
Avance rapide
branche 1.txt | 0
1 fichier modifié, 0 insertions (+), 0 suppressions (-)
Créer le mode 100644 branche1.SMS
$ git fusiter b2
Fusionner la stratégie «récursive».
branche2.txt | 0
1 fichier modifié, 0 insertions (+), 0 suppressions (-)
Créer le mode 100644 branche2.SMS
$ git push origin maître
Compter les objets: 4, fait.
Compression delta en utilisant jusqu'à 4 threads.
Compression des objets: 100% (4/4), fait.
Écriture d'objets: 100% (4/4), 454 octets | 0 octets / s, fait.
Total 4 (Delta 1), réutilisé 0 (Delta 0)
Vers / utilisateurs / zak / _Work / Learngit / git_delete_branch / projet.git
81EB2A3… 34db496 Master -> Master
Essayez maintenant de supprimer à nouveau les branches:
Branche Git $
b1
b2
* maître
$ Git Branch -d B1
Branche supprimée B1 (était A2F488E).
$ Git Branch -d B2
Branche supprimée B2 (était 2ABB723).
Branche Git $
* maître
Vous avez réussi à supprimer localement les branches B1 et B2.
6. Suppression des succursales distantes
Lorsque vous vérifiez les branches distantes, vous voyez toujours B1 présent:
$ Git Branch -r
Origine / B1
Origine / Maître
Vous pouvez utiliser la commande suivante pour supprimer une branche distante:
push git--supprimer
Vous pouvez donc supprimer la branche B1 distante avec les suivantes:
$ git push Origin - Delete B1
Vers / utilisateurs / zakh_eecs / _Work / Learngit / git_delete_branch / projet.git
- [supprimé] B1
Maintenant, si vous vérifiez vos branches distantes, vous ne devriez plus voir B1:
$ Git Branch -r
Origine / Maître
Toutes nos félicitations! Vous avez réussi à supprimer toutes les branches que vous avez créées. Entraînez-vous à faire plus de branches et à les supprimer pour maîtriser le processus de suppression de la succursale Git.