Maison >outils de développement >git >Tutoriel Git : la différence entre git pull et git clone (partage résumé)
Cet article vous apporte des connaissances sur la différence entre git pull et git clone dans le didacticiel Git. J'espère qu'il vous sera utile.
Sur Internet, de nombreuses personnes expliquent la différence entre pull et clone. Ils disent que pull consiste à mettre à jour le code local et que clone est le processus de création d'un code local à partir de zéro. J'ai mentionné que j'avais à nouveau ce problème aujourd'hui. Parce que j'avais l'habitude de tirer directement depuis l'entrepôt distant, mais aujourd'hui, j'ai soudainement découvert que le pull ne pouvait pas être utilisé et que le clonage prendrait effet, et j'ai réalisé ce problème. J'ai décidé de l'enregistrer.
1 git pull
git pull convient pour extraire le code du référentiel pour lequel l'utilisateur est autorisé, qu'il existe ou non du code local.
Parce que j'extrais généralement le code directement via git pull.
1.1 Entrepôts pour lesquels j'ai des autorisations
Les entrepôts pour lesquels j'ai des autorisations font référence aux miens ou aux entrepôts de mon équipe que je peux utiliser.
Pour utiliser git pull, vous devez d'abord vous assurer que vous êtes connecté au référentiel distant. Sinon, si vous directement git pull origin master, Github vous demandera : "Quel maître ? Quel maître ? Êtes-vous mon maître
Vous devez donc d'abord vous connecter au référentiel distant.
init initialise un entrepôt local vide, ne contenant rien sauf .git
Connectez-vous à l'entrepôt distant
1.1.1 Aucun code local
git remote -v est utilisé pour afficher le connexion actuelle à l'entrepôt local Vous pouvez vous connecter à plusieurs référentiels distants. Ensuite, un entrepôt existe par paires, un pour le téléchargement et un pour le téléchargement. J'appelle généralement l'origine à l'avant le nom de l'entrepôt distant, et celle à l'arrière est votre méthode de connexion.
Maintenant, cela montre que je suis connecté à un référentiel distant github nommé origin.
Utilisez git pull directement depuis un entrepôt vierge pour extraire le code.
1.1.2 Code local
Que se passe-t-il s'il y a un code local ?
Travail d'équipe, un entrepôt est utilisé par plusieurs personnes
Votre propre entrepôt, vous l'utilisez sur plusieurs ordinateurs (comme un dans le dortoir, un dans le laboratoire)
Pourquoi avez-vous besoin de git tirer? La version du code est différente selon les ordinateurs. Ainsi, afin de réduire le travail et de garantir des versions de code cohérentes, extrayez le code à chaque fois que vous écrivez du code. Après l'écriture, poussez vers le référentiel distant. Faites un dessin pour expliquer.
1.2 Entrepôts pour lesquels je n'ai pas d'autorisations
Les entrepôts pour lesquels je n'ai pas d'autorisations font référence aux entrepôts d'autres personnes. Si d'autres ne vous donnent pas la permission, vous ne pouvez bien sûr pas modifier leur code à volonté.
Git pull ne peut pas être utilisé pour les entrepôts sans autorisation. Par exemple :
Aujourd'hui, j'ai téléchargé le code comme d'habitude. Mais c'est la première fois que je télécharge le code de quelqu'un d'autre.
J'ai ajouté le lien du référentiel comme d'habitude, git pull down. Mais il m'a demandé :
Autorisation refusée (clé publique).
fatal : Impossible de lire à partir du référentiel distant.
Veuillez vous assurer que vous disposez des droits d'accès corrects et que le référentiel existe.
Autorisation refusée signifie que la clé SSH est impossible à utiliser, permettez-moi de confirmer si j'ai l'autorisation d'accéder ou si cet entrepôt existe.
L'entrepôt existe. Je ne dois donc pas avoir la permission.
Expliquez le fonctionnement en trois étapes :
Ajoutez un entrepôt distant, connectez-vous avec SSH
Récupérez le code de la branche principale de l'entrepôt
Supprimez l'entrepôt distant que j'ai ajouté ( comme il ne peut pas être utilisé, bien sûr, je vais le supprimer )
À ce moment-là, je me suis souvenu : SSH ne peut être utilisé que par le propriétaire de l'entrepôt. Étant donné que le SSH configuré sur votre ordinateur est associé au SSH sur votre github, vous ne pouvez utiliser SSH que si vous utilisez votre référentiel github sur votre ordinateur.
Puisque seul le propriétaire de l'entrepôt peut utiliser SSH, je peux simplement passer à HTTP. (Je n'avais pas réalisé la gravité du problème à ce moment-là)
J'ai ajouté une connexion https
Dans la deuxième étape, j'ai démonté l'entrepôt
Puis il m'a demandé à nouveau :
fatal : impossible d'accéder à « github.com/hitvoice/Dr… » : OpenSSL SSL_read : la connexion a été réinitialisée, numéro d'erreur 10054
, ce qui signifie que je ne parviens toujours pas à me connecter.
À ce moment-là, j'ai soudain réalisé le problème : neutral_face :. Cela semble être l'entrepôt de quelqu'un d'autre. Je ne peux pas utiliser Remote pour me connecter à l'entrepôt distant, puis le supprimer. Parce que si je peux me connecter, cela signifie que je peux modifier à volonté le code des autres. Je ne peux donc absolument pas extraire le code de cette façon ! ! !
Vous devez donc utiliser git clone
2 git clone
git clone convient au code local sans code, vous devez le télécharger. Vous ne pouvez pas vous connecter au référentiel distant. Il peut être utilisé avec ou sans autorisations d'entrepôt.
Dans la continuité de ce qui a été dit ci-dessus, après avoir réalisé que j'utilisais git clone, j'ai supprimé la connexion HTTPS à l'entrepôt distant tout à l'heure, puis directement git cloné, et le code a été téléchargé avec succès.
J'ai supprimé la méthode https ci-dessus pour se connecter à l'entrepôt distant
git remote -v est utilisé pour vérifier à quels entrepôts distants votre entrepôt local est connecté. S'il est connecté, le code de l'entrepôt et la méthode de connexion seront affichés. La sortie ici est vide, cela signifie qu'il n'est connecté à aucun référentiel distant
le clone de git a téléchargé le code avec succès.
Ce qui précède est l’entrepôt de quelqu’un d’autre, mais que se passe-t-il s’il s’agit d’un entrepôt que j’ai l’autorisation d’utiliser ?
Créez un nouvel entrepôt local. C'est évidemment une réussite. Si SSH peut réussir, alors HTTPS doit réussir. Si vous pouvez réussir sans télécommande, vous réussirez certainement si vous utilisez la télécommande.
Apprentissage recommandé : "Tutoriel Git"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!