Conditions préalables:
Installer GitHub Desktop
GitHub Desktop aide l'utilisateur GIT à effectuer graphiquement les tâches liées à Git. Vous pouvez facilement télécharger le dernier installateur de cette application pour Ubuntu à partir de GitHub.com. Vous devez installer et configurer cette application après le téléchargement pour l'utiliser. Vous pouvez également vérifier le tutoriel pour l'installation de GitHub Desktop sur Ubuntu pour connaître correctement le processus d'installation.
Créer un compte GitHub
Vous devrez créer un compte GitHub pour vérifier les commandes utilisées dans ce tutoriel.
Créer un référentiel local et distant
Vous devez créer un référentiel local et publier le référentiel dans le serveur distant pour tester les commandes utilisées dans ce tutoriel.
Écraser les modifications locales pour forcer la traction Git:
Le 'git fetch -all' Commande télécharge tout le contenu du référentiel distant dans le référentiel local mais ne fusionne pas le contenu avec le référentiel local. Après avoir exécuté la commande fetch, si le 'git réinitialisation' La commande est exécutée avec le -dur Option, alors tous les fichiers et dossiers correspondants du référentiel local seront remplacés par le contenu du référentiel distant. Toutes les modifications locales non engagées et engagées qui ne sont pas poussées seront supprimées pour le -option difficile. Ce problème a été décrit dans cette partie du tutoriel en utilisant un référentiel local nommé Python publié auparavant dans le serveur distant.
Ouvrir le basique.py Fichier du référentiel distant pour vérifier le contenu du fichier. L'image suivante montre que le fichier contient quatre lignes de script pour ajouter deux nombres.
Force Git Pull pour les changements non engagés:
Maintenant, ouvrez la base.Fichier PY du référentiel local dans n'importe quel éditeur de texte et modifiez le fichier avec le contenu suivant. Enregistrez le fichier et quittez de l'éditeur.
Imprimer («Ajout de trois numéros»)
a = 10
b = 20
C = 30
Imprimer (A + B + C)
Exécutez les commandes suivantes pour ajouter le modifié basique.py fichier dans le référentiel local et vérifier l'état du référentiel.
$ git ajouter de base.py
$ statut git
La sortie suivante apparaîtra après avoir exécuté la commande. La sortie montre que la tâche n'est pas encore engagée.
Exécutez les commandes suivantes pour vérifier le contenu du basique.py fichier avant de tirer le contenu du référentiel distant et de vérifier le contenu du basique.py Après avoir tiré avec force.
$ Cat Basic.py
$ git fetch - tout
$ git réinitialisation - Origine dure / Main
$ Cat Basic.py
La sortie suivante montre que le contenu du basique.py Le fichier a été écrasé par le contenu du basique.py Fichier du serveur distant, et le contenu modifié a été perdu.
Forcer Git Pull pour les changements engagés:
Encore une fois, ouvrez le basique.py Fichier du référentiel local dans n'importe quel éditeur de texte et modifiez le fichier avec le contenu suivant. Enregistrez le fichier et quittez de l'éditeur.
imprimer («soustraire deux nombres»)
a = 50
b = 20
Imprimer (A - B)
Exécutez les commandes suivantes pour ajouter le modifié basique.py Fider dans le référentiel local, commettre la tâche et vérifier l'état du référentiel.
$ git ajouter de base.py
$ git commit -m "Basic.PY a mis à jour "
$ statut git
La sortie suivante montre que le modifié basique.py Le fichier est ajouté et engagé avec un message de validation. L'arbre de travail actuel est propre maintenant.
Exécutez à nouveau les commandes précédentes pour vérifier comment le 'git réinitialisation' La commande fonctionne pour la tâche engagée.
$ Cat Basic.py
$ git fetch - tout
$ git réinitialisation - Origine dure / Main
$ Cat Basic.py
La sortie suivante montre que le contenu du fichier distant a à nouveau écrasé le contenu du fichier local. Alors le 'git réinitialisation' La commande fonctionne de même pour les tâches engagées et non engagées.
Enregistrer les modifications locales avant de forcer la traction Git:
Le problème d'écrasement peut être résolu en créant une nouvelle branche. Commettre toutes les modifications dans le référentiel avant d'exécuter les commandes de traction. Encore une fois, ouvrez le basique.py Fichier du référentiel local dans n'importe quel éditeur de texte et modifiez le fichier avec le contenu suivant. Enregistrez le fichier et quittez de l'éditeur.
imprimer («multiplier deux nombres»)
a = 10
b = 20
imprimer (a * b)
Exécutez les commandes suivantes pour vérifier la liste des branches, passer à une nouvelle branche et vérifier le contenu du basique.py Fichier après avoir exécuté les commandes Pull.
Branche Git $
$ Git Checkout -B New-Branch
$ git fetch-tout
$ git réinitialisation - Origine dure / Main
$ Cat Basic.py
La sortie suivante montre que le contenu du basique.py Le fichier a écrasé pour la nouvelle branche.
Maintenant, exécutez les commandes suivantes pour vérifier le contenu du basique.py fichier après le passage au principal bifurquer.
$ git Checkout Main
$ Cat Basic.py
La sortie suivante montre que le contenu du basique.py est resté inchangé.
Conclusion:
Le problème de tirer le référentiel GIT avec force et comment résoudre ce problème a été expliqué dans ce tutoriel en utilisant un référentiel de démonstration local et distant. Mais cette solution ne fonctionnera pas pour les changements non engagés du référentiel local. Vous devez donc commettre toutes les modifications ou exécuter le 'git cachette' commande avant de tirer avec force le référentiel GIT.