Git tire-t-il fusion
Git: que fait exactement git tire
Git Pull vs chercher
Vous êtes probablement dans la situation suivante: des modifications ont récemment été apportées à votre référentiel distant et vous souhaitez les intégrer dans votre copie locale. Vous avez quelques options ici; Les deux actions les plus courantes pour obtenir des modifications de votre télécommande sont Git Pull et Git Fetch.
Alors, quelle est la différence entre Git Pull vs Fetch, et quand devriez-vous utiliser quelle commande? Nous sommes heureux que vous ayez demandé.
Qu’est-ce que Git Fetch?
Git Fetch est une commande qui vous permet de télécharger des objets à partir d’un autre référentiel.
Qu’est-ce que Git Pull?
Git Pull est une commande qui vous permet de récupérer et de vous intégrer avec un autre référentiel ou une branche locale.
À partir de cette définition, vous pouvez voir qu’une traction Git est en fait un fetch git suivi d’une ou des actions supplémentaires – généralement une fusion git.
Quand devriez-vous utiliser Git Pull?
Git Pull est une action souhaitable lorsque vous avez un contexte complet sur les modifications que vous obtiendrez de votre référentiel distant et en ajoutant à votre copie locale.
Quand devriez-vous utiliser Git Fetch?
Si vous voulez seulement voir toutes les branches actuelles et les modifications dans votre référentiel distant, Git Fetch peut vous fournir toutes les informations dont vous avez besoin sans apporter de modifications locales à votre travail.
Cela vous donne le temps de décider de la meilleure ligne de conduite pour incorporer vos modifications, comme les fusionner ou la baisse rapide de votre branche locale.
Comparaison de Git Pull vs Fetch
Lorsque vous comparez Git Pull vs Fetch, Git Fetch est une alternative plus sûre car elle tire tous les validations de votre télécommande mais ne modifie aucune modification de vos fichiers locaux.
D’un autre côté, Git Pull est plus rapide car vous effectuez plusieurs actions en une – un meilleur coup pour votre argent. L’utilisation de la commande GIT PULT peut être vue sous une seule lumière comme une caractéristique de commodité; Vous êtes probablement moins inquiet d’introduire des conflits dans votre dépôt local et vous voulez juste les modifications les plus récentes de la branche éloignée que vous tirez.
Git Pull est une action plus avancée et il est important de comprendre que vous allez introduire des modifications et les appliquer immédiatement à votre branche actuellement vérifiée.
Git Fetch est un peu différent; Vous pouvez utiliser la commande git fetch pour voir toutes les modifications de la télécommande sans les appliquer. Cette action peut être formidable si vous êtes plus récent pour Git, car il offre plus de visibilité sur les changements introduits. D’un autre côté, Fetch pourrait également être préféré par les anciens combattants de Git qui veulent juste plus de contrôle sur ce qui se passe dans leur repo.
Maintenant que nous avons relevé ce que font les commandes respectives et avons comparé Git Pull vs chercher, apprenons comment vous tirez et git fetch en utilisant le gitkraken git gitkraken multiplateforme pour visualiser votre référentiel et comment effectuer ces actions dans la CLI.
Gitkraken vous permet de voir tous les détails des modifications que vous tirez ou récupérez de votre référentiel distant.
Comment git tire vs chercher à utiliser gitkraken?
Dans Gitkraken, vous pouvez facilement aller chercher ou tirer de la barre d’outils supérieure.
![Gitkraken fetch] (https: // www.gitkraker.com / wp-content / uploads / 2021/04 / gitkraken-fetch-1.png)
Alternativement, vous pouvez cliquer avec le bouton droit sur une branche éloignée du graphique central de Gitkraken pour récupérer ou tirer.
![Gitkraken Pull] (https: // www.gitkraker.com / wp-content / uploads / 2021/05 / gitkraken-pull.png)
Gittip: Besoin d’un rafraîchissement sur la façon de tirer une branche git distante? Nous avons ce qu’il vous faut.
Mais si vous êtes comme de nombreux développeurs là-bas et que vous préférez vous en tenir au clavier, Gitkraken vous a couvert avec le Fuzzy Finder super pratique, que vous pouvez ouvrir avec le raccourci clavier CMD / Ctrl + P.
Après avoir ouvert le Fuzzy Finder, vous pouvez simplement taper Fetch pour commencer un Git Fetch, ou tirer pour initier une traction Git.
![Gitkraken Fetch Fuzzy Finder] (https: // www.gitkraker.com / wp-content / uploads / 2021/04 / gitkraken-fetch-fuzzy-finder-1.png)
![Gitkraken tire Fuzzy Finder] (https: // www.gitkraker.com / wp-content / uploads / 2021/04 / gitkraken-pull-fuzzy-finder-1.png)
Modifications automatique avec Gitkraken
Gitkraken comprend une fonctionnalité pratique qui vous permet de récupérer automatiquement les modifications d’un référentiel distant basé sur un intervalle que vous définissez. Vous pouvez régler l’intervalle à chaque minute, toutes les heures ou une minute déterminée entre 0 et 60.
Cela peut être extrêmement utile pour garder votre copie locale à jour avec votre télécommande, et peut être particulièrement bénéfique lorsque vous avez beaucoup de choses avec plusieurs référentiels et projets.
Gardez votre copie locale à jour avec les modifications de votre télécommande et gagnez du temps avec la fesche automatique à Gitkraken.
Comment git-tu récupéré dans la ligne de commande?
Si vous utilisez le terminal, vous utiliserez la commande git fetch pour récupérer les modifications de vos branches distantes.
git chercher
Comment git-tu tire la ligne de commande?
De même, vous utiliserez la commande git pull pour extraire les modifications de votre télécommande.
tirage git
Cela mettra à jour votre branche actuellement vérifiée avec des modifications de votre télécommande.
Tirer et récupérer vos modifications n’est qu’à un clic à Gitkraken, a voté le client Git le plus populaire pendant quatre années de suite. Faites un tour gratuitement aujourd’hui; Vous ne le regretterez pas.
Git: Que fait exactement “Git Pull”?
Si vous avez des changements locaux (engagements non vides) que vous n’avez pas encore poussés, alors votre arbre local n’est pas identique à la télécommande. De plus, “Git Pull” peut être “git fetch” plus “Git Rebase”. Mais “Git Rebase” peut être considéré comme une “fusion Git” spéciale.
17 juillet 2017 à 7:19
Vous posez 5 questions sur la base du texte ci-dessus, voici les réponses détaillées:
1. Quelle est la différence entre Git Pull et Git Fetch?
La principale différence entre Git Pull et Git Fetch est que Git Pull non seulement récupère les modifications du référentiel distant, mais les intègre également dans votre branche locale. D’un autre côté, Git Fetch ne télécharge que les modifications du référentiel distant sans les appliquer à votre branche locale.
2. Quand devriez-vous utiliser Git Pull?
Git Pull est recommandé lorsque vous avez une connaissance complète des modifications apportées dans le référentiel distant et que vous souhaitez les appliquer immédiatement à votre branche locale. Ceci est utile lorsque vous souhaitez intégrer rapidement les derniers modifications dans votre travail.
3. Quand devriez-vous utiliser Git Fetch?
Git Fetch est utile lorsque vous souhaitez voir les modifications apportées dans le référentiel distant sans apporter de modifications locales. Il vous permet de revoir les modifications et de décider de la meilleure approche pour les intégrer dans votre travail, comme la fusion ou la baisse rapide de votre branche locale.
4. Quelle commande est plus sûre, git till ou git fetch?
Git Fetch est considéré comme plus sûr car il télécharge uniquement les modifications du référentiel distant sans modifier vos fichiers locaux. D’un autre côté, Git Pull applique immédiatement les modifications à votre branche actuellement vérifiée, qui peut introduire des conflits s’ils ne sont pas gérés correctement.
5. Pourquoi Git tire-t-il plus vite que Git Fetch?
Git Pull est plus rapide car il combine plusieurs actions en une. Il récupère les modifications du référentiel distant et les intègre dans votre branche locale dans une seule commande. Cela peut être pratique si vous êtes moins préoccupé par les conflits et que vous voulez juste les modifications les plus récentes de la branche distante.
Git: que fait exactement git tire
Gittip: Besoin d’un rafraîchissement sur la façon de tirer une branche git distante? Nous’Ve t’avez couvert.
Git Pull vs chercher
Toi’probablement dans la situation suivante: des modifications ont été récemment apportées à votre référentiel distant et vous souhaitez les intégrer dans votre copie locale. Vous avez quelques options ici; Les deux actions les plus courantes pour obtenir des modifications de votre télécommande sont Git Pull et Git Fetch.
Et alors’s la différence entre Git Pull vs récupérer, et quand devriez-vous utiliser quelle commande? Nous’Retendons-vous que vous ayez demandé.
Qu’est-ce que Git Fetch?
Git Fetch est une commande qui vous permet de télécharger des objets à partir d’un autre référentiel.
Qu’est-ce que Git Pull?
Git Pull est une commande qui vous permet de récupérer et de vous intégrer avec un autre référentiel ou une branche locale.
À partir de cette définition, vous pouvez voir qu’une traction Git est en fait un fetch git suivi d’une ou des actions supplémentaires – généralement une fusion git.
Quand devriez-vous utiliser Git Pull?
Git Pull est une action souhaitable lorsque vous avez un contexte complet sur les modifications que vous obtiendrez de votre référentiel distant et en ajoutant à votre copie locale.
Quand devriez-vous utiliser Git Fetch?
Si vous voulez seulement voir toutes les branches actuelles et les modifications dans votre référentiel distant, Git Fetch peut vous fournir toutes les informations dont vous avez besoin sans apporter de modifications locales à votre travail.
Cela vous donne le temps de décider de la meilleure ligne de conduite pour incorporer vos modifications, comme les fusionner ou la baisse rapide de votre branche locale.
Comparaison de Git Pull vs Fetch
Lorsque vous comparez Git Pull vs Fetch, Git Fetch est une alternative plus sûre car elle tire tous les validations de votre télécommande mais ne fait pas’t apporter des modifications à vos fichiers locaux.
D’un autre côté, Git Pull est plus rapide comme vous’réaliser plusieurs actions en une – un meilleur coup pour votre argent. L’utilisation de la commande GIT PULT peut être vue sous une seule lumière comme une caractéristique de commodité; toi’est probablement moins inquiet de l’introduction de conflits dans votre référentiel local et vous voulez juste les modifications les plus à jour de la branche distante vous’retirer de.
Git Pull est une action plus avancée et’s important pour comprendre que vous introduirez des modifications et les appliquerez immédiatement à votre branche actuellement vérifiée.
Git Fetch est un peu différent; Vous pouvez utiliser la commande git fetch pour voir toute la télécommande’s modifie sans les appliquer. Cette action peut être formidable si vous’est plus récent à Git, car il offre plus de visibilité sur les changements en cours. D’un autre côté, Fetch pourrait également être préféré par les vétérans du GIT qui veulent juste plus de contrôle sur ce’S se produit dans leur repo.
Maintenant que nous’Ve a dépassé ce que font les commandes respectives et ont comparé Git Pull vs chercher, laissez’s Apprenez comment vous tirez et git votre git chercher à utiliser le gitkraken git gitkraken multiplateforme pour visualiser votre référentiel et comment effectuer ces actions dans la CLI.
Gitkraken vous permet de voir tous les détails des modifications que vous’retirer ou récupérer de votre référentiel distant.
Comment git tire vs chercher à utiliser gitkraken?
Dans Gitkraken, vous pouvez facilement aller chercher ou tirer de la barre d’outils supérieure.
Alternativement, vous pouvez cliquer avec le bouton droit sur une branche éloignée du graphique central de Gitkraken pour récupérer ou tirer.
Gittip: Besoin d’un rafraîchissement sur la façon de tirer une branche git distante? Nous’Ve t’avez couvert.
Mais si tu’comme de nombreux développeurs là-bas et préfèrent s’en tenir au clavier, Gitkraken vous a couvert avec le final Fuzzy Fuzzy, que vous pouvez ouvrir avec le raccourci clavier CMD / Ctrl + P .
Après avoir ouvert le Fuzzy Finder, vous pouvez simplement taper Fetch pour commencer un Git Fetch, ou tirer pour initier une traction Git.
Modifications automatique avec Gitkraken
Gitkraken comprend une fonctionnalité pratique qui vous permet de récupérer automatiquement les modifications d’un référentiel distant basé sur un intervalle que vous définissez. Vous pouvez régler l’intervalle à chaque minute, toutes les heures ou une minute déterminée entre 0 et 60.
Cela peut être extrêmement utile pour garder votre copie locale à jour avec votre télécommande, et peut être particulièrement bénéfique lorsque vous avez beaucoup de choses avec plusieurs référentiels et projets.
Gardez votre copie locale à jour avec les modifications de votre télécommande et gagnez du temps avec la fesche automatique à Gitkraken.
Comment git-tu récupéré dans la ligne de commande?
Si tu’En utilisant le terminal, vous utiliserez la commande git fetch pour récupérer les modifications de vos branches distantes.
git chercher
Comment git-tu tire la ligne de commande?
De même, vous utiliserez la commande git pull pour extraire les modifications de votre télécommande.
tirage git
Cela mettra à jour votre branche actuellement vérifiée avec des modifications de votre télécommande.
Tirer et récupérer vos modifications n’est qu’à un clic à Gitkraken, a voté le client Git le plus populaire pendant quatre années de suite. Faites un tour gratuitement aujourd’hui; tu as gagné’t le regrette.
Git: Que fait exactement “Git Pull”?
Si vous avez des changements locaux (engagements non vides) que vous n’avez pas encore poussés, alors votre arbre local n’est pas identique à la télécommande. De plus, “Git Pull” peut être “git fetch” plus “Git Rebase”. Mais “Git Rebase” peut être considéré comme une “fusion Git” spéciale.
17 juillet 2017 à 7:19
Vous posez 5 questions ici 🙂
17 juillet 2017 à 7:24
J’espère au moins que ce sont de bons.
17 juillet 2017 à 7:43
4 réponses 4
Le exactement La partie est vraiment assez difficile. Il est souvent dit – et c’est surtout vrai – que Git Pull exécute Git Fetch suivi par Git Merge ou Git Rebase, et en fait, Git Pull, qui était autrefois un script de shell et est maintenant un programme C, littéralement exécuté Git Fetch en premier, bien qu’il invoque directement le code C qui implémente Git Fetch .
L’étape suivante, cependant, est assez délicate. De plus, dans un commentaire, vous avez ajouté ceci:
[fetch] apporte des modifications du repo distant. Où ça les met?
Pour comprendre cela correctement, vous devez comprendre le système d’objets de Git.
Le modèle d’objet Git et Git récupérer
Chaque commit est une sorte d’entité autonome. Chaque commit a une pièce d’identité de hachage unique: B06D364. ou peu importe. Ce hachage ID est une somme de contrôle cryptographique du contenu de cette validation. Considérez, par exemple:
$ git cat-file -p Head | sed 's/@/ /g' tree a15b54eb544033f8c1ad04dd0a5278a59cc36cc9 parent 951ea7656ebb3f30e6c5e941e625a1318ac58298 author Junio C Hamano 1494339962 +0900 committer Junio C Hamano 1494339962 +0900 Git 2.13 Signed-Off-By: Junio C Hamano
Si vous nourrissez ces contenus (moins la partie ‘S / @ / /’, mais avec l’en-tête que Git ajoute à chaque objet) à une calculatrice de somme de contrôle SHA-1, vous obtiendrez l’ID de hachage. Cela signifie que tout le monde qui a cet engagement a le même ID de hachage pour ça.
Vous pouvez obtenir le référentiel GIT pour GIT et exécuter Git Cat-File -P V2.13.0 ^ pour voir ces mêmes données. Remarque: la balise V2.13.0 se traduit par 074FFB61B4B507B3BDE7DCF6006E5660A0430860, qui est un objet de balise; L’objet TAG lui-même fait référence à la validation B06D364. :
$ git cat-file -p v2.13.0 Objet B06D3643105C8758ED019125A4399CB7EFDCCE2C TYPE COMMISSE TAG V2.13.0 [snip]
Pour travailler avec un engagement, Git doit stocker l’objet de validation – l’article avec l’ID de hachage B06D364. – set-elle quelque part, et aussi son objet d’arbre et tout objet supplémentaire dont l’arbre a besoin. Ce sont les objets que vous voyez compter et comprimer pendant un git fetch ou git push .
La ligne parentale indique quel engagement (ou, pour une fusion, commet, pluriel) sont les prédécesseurs de cet engagement particulier. Pour avoir un ensemble complet de commits, Git doit aussi Demandez aux parents de commits (un clone – un clone de Shallow peut délibérément omettre divers parents, dont les identifiants sont enregistrés dans un dossier spécial de “greffes peu profondes”, mais un clone normal aura toujours tout).
Il existe quatre types d’objets au total: commits, étiquettes (annotées), arbres et ce que Git appelle goutte objets. Les blobs stockent principalement les fichiers réels. Tous ces objets résident dans Git base de données d’objets. Git peut alors les récupérer facilement par Hash ID: Git Cat-File -P, par exemple, les affiche dans un format vaguement lisible par l’homme. (La plupart du temps, il y a peu de choses à faire autrement que la décompression, bien que les objets d’arbre aient des données binaires qui doivent être formatées en premier.)
Lorsque vous exécutez Git Fetch – ou demandez à Git Pull l’exécutez pour vous – votre GIT obtient les ID de hachage de certains objets initiaux d’un autre GIT, utilise ensuite les protocoles de transfert GIT pour déterminer quels objets supplémentaires sont nécessaires pour compléter votre référentiel GIT. Si tu J’ai déjà un objet, vous n’avez pas besoin de le récupérer à nouveau, et si cet objet est un objet de validation, vous n’avez pas besoin de ses parents non plus. 1 donc vous obtenez uniquement les commits (et les arbres et les blobs) que vous n’avez pas déjà. Votre git les fourre ensuite dans la base de données d’objets de votre référentiel.
Une fois que les objets sont enregistrés en toute sécurité, votre GIT enregistre les ID de hachage dans le fichier spécial Fetch_head. Si votre git est au moins 1.8.4, il va aussi mettre à jour tout correspondant Noms de succursale de suivi à distance En ce moment: E.g., il peut mettre à jour votre origine / maître .
(Si vous exécutez Git récupérer manuellement, votre Git obéit toutes les règles de mise à jour RefSpec normales, comme décrit dans la documentation Git Fetch. Ce sont les arguments supplémentaires passés à Git Fetch par Git Pull qui inhibent certains d’entre eux, selon votre version git.)
C’est donc la réponse à ce que je pense être votre vraie première question: Git Fetch stocke ces objets dans la base de données d’objets de Git, où ils peuvent être récupérés par leurs identifiants de hachage. Il ajoute les ID de hachage à .git / fetch_head (toujours), et met souvent à jour également certaines de vos références – noms de Tag dans les références / tags /, et les noms de branche à distance dans les références / télécommandes / .
1 sauf, c’est-à-dire “désosser” un clone peu profond.
Le reste de Git Pull
L’exécution de Git Fetch obtient vos objets, mais ne fait rien pour incorporer ces objets dans l’un des ton travail. Si vous le souhaitez utiliser Les commits récupérés ou d’autres données, vous avez besoin d’une deuxième étape.
Les deux principales actions que vous pouvez faire ici sont Git Merge ou Git Rebase . La meilleure façon de les comprendre est de les lire ailleurs (d’autres publications, d’autres documents, etc.). Les deux sont cependant des commandes compliquées – et il y a un cas spécial pour Git Pull qui est pas couvert par ces deux: en particulier, vous pouvez git tirer dans une branche inexistante. Vous avez une branche inexistante (que Git appelle également un branche orpheline ou un branche à naître) dans deux cas:
- dans un nouveau référentiel vide (qui n’a pas de valid), ou
- Après avoir exécuté Git Checkout – Orphan NewBranch
Dans les deux cas, il n’y a pas engagement actuel Il n’y a donc rien à réprimander ou à fusionner. Cependant, l’index et / ou le travail ne sont pas nécessairement vides! Ils sont initialement vides dans un nouveau référentiel vide, mais au moment où vous exécutez Git Pull, vous auriez pu créer des fichiers et les copier dans l’index.
Ce type de traction Git a traditionnellement été buggy, alors soyez prudent: versions de Git avant 1.8-ish détruire parfois un travail non engagé. Je pense qu’il est préférable d’éviter Git Tirez entièrement ici: il suffit de courir Git, puis de déterminer ce que vous voulez faire. Pour autant que je sache, c’est OK dans le Git moderne – ces versions ne détruiront pas votre index et votre arbre de travail – mais j’ai l’habitude d’éviter Git me tirer.
En tout cas, même si vous n’êtes pas sur une branche orpheline / à naître / inexistante, ce n’est pas une excellente idée d’essayer d’exécuter Git Merge avec un index sale et / ou un arbre de travail (“travail non engagé”). La commande GIT Rebase a désormais une option d’étanche automatique (Rebase.Autostash), vous pouvez donc avoir Git exécuter automatiquement Git Stash Save pour créer des engins hors branchage à partir d’un tel travail non engagé. Ensuite, la rebase elle-même peut fonctionner, après quoi Git peut automatiquement appliquer et laisser tomber la cachette.
La commande GIT Merge n’a pas cette option automatique, mais bien sûr, vous pouvez le faire manuellement.
Notez que rien de tout cela ne fonctionne si vous êtes au milieu d’un en conflit fusionner. Dans cet état, l’indice a des entrées supplémentaires: vous ne pouvez pas les engager avant de résoudre les conflits, et vous ne pouvez même pas les cacher (qui suit naturellement du fait que Git Stash fait vraiment des commits). Toi peut Exécuter Git Fetch, à n’importe quel Le temps, puisque cela ajoute simplement de nouveaux objets à la base de données d’objets; Mais vous ne pouvez pas fusionner ou reprendre lorsque l’index est dans cet état.
Git Pull – Rebase vs. –fusionner
Cette page explique brièvement la différence entre rebasing et fusion dans Git tout en tirant. Les deux techniques sont utilisées pour combiner vos changements locaux non publiés avec les changements à distance publiés. Il y a un autre wikipage sur la façon de réprimander ou de fusionner une branche.
Si vous souhaitez comprendre les détails de la rebasing et de la fusion des changements et des branches, alors Syou devrait lire un blog de Mislav Marohnić et le chapitre sur la rebasing et la fusion du livre Pro Git.
reproche
Si vous tirez des modifications à distance avec l’indicateur – Rebase, vos modifications locales sont réappliquées en plus des modifications à distance.
Git Pull - Rebase
fusion
Si vous tirez des modifications à distance avec l’indicateur – Merge, qui est également la valeur par défaut, alors vos modifications locales sont fusionnées avec les modifications à distance. Il en résulte un engagement de fusion qui pointe vers le dernier engagement local et le dernier engagement à distance.
Git Pull - Merger
meilleur entrainement
C’est la meilleure pratique de Rebase toujours vos commits locaux Lorsque vous tirez avant de les pousser. Comme personne ne connaît encore vos commits, personne ne sera confus lorsqu’ils seront remits, mais l’engagement supplémentaire d’une fusion serait inutilement déroutant. Les commits publiés sont cependant généralement fusionnés, par exemple lorsque les branches sont fusionnées.
Pour éviter de taper –Rebase chaque fois que vous tirez, vous pouvez configurer Git pour l’utiliser par défaut:
Git Config - Pull Global.Rebase vrai
Si vous souhaitez combiner des commits locaux avant de les pousser en amont, par exemple, car vous avez découvert une faute de frappe ou un bug après un engagement, vous pouvez le faire de manière interactive:
Git Rebase -i
Si vous souhaitez connaître les détails ou avoir une ancienne version Git, suivez les pointeurs de la littérature ci-dessus.
Quelle est la différence entre Git Fetch et Git Pull ?
Avant de parler du différences Entre ces deux commandes, soulignons leurs similitudes: les deux sont utilisés pour télécharger Nouvelles données d’un référentiel distant.
Le téléchargement des données est une étape essentielle de votre travail quotidien – car les données distantes que vous envisagez dans votre référentiel local ne sont qu’un “instantané”. C’est aussi à jour que la dernière fois que vous explicitement téléchargés de nouvelles données à partir de la télécommande avec “fetch” ou “pull”. Il est essentiel de garder ce fait à l’esprit lors de l’inspection des branches et des engagements éloignés!
Voyons maintenant les différences fines mais importantes entre “récupérer” et “pull”.
La feuille de triche git
Pas besoin de se souvenir de toutes ces commandes et paramètres: obtenez notre populaire “Fiche de triche Git” – gratuitement!
Aller chercher
$ git fetch origine
git chercher Vraiment ne télécharge seulement de nouvelles données à partir d’un référentiel distant – mais il n’intégration aucune de ces nouvelles données dans vos fichiers de travail. Fetch est idéal pour avoir une nouvelle vue sur toutes les choses qui se sont produites dans un référentiel distant.
En raison de sa nature “inoffensive”, vous pouvez être assuré: Fetch ne manipulera, ne détruira ni ne foutre rien. Cela signifie que vous ne pouvez jamais aller chercher assez souvent.
Tirer
$ git till origin maître
tirage git, En revanche, est utilisé avec un objectif différent à l’esprit: pour mettre à jour votre branche de tête actuelle avec les dernières modifications du serveur distant. Cela signifie que Pull non seulement télécharge de nouvelles données; il aussi directement intégrer dans vos fichiers de copie de travail actuels. Cela a quelques conséquences:
- Puisque “Git Pull” essaie de fusionner les changements à distance avec vos locaux, un soi-disant “conflit de fusion” peut se produire. Consultez notre tutoriel approfondi sur la façon de gérer les conflits de fusion pour plus d’informations.
- Comme pour de nombreuses autres actions, il est fortement recommandé de démarrer une “traction Git” uniquement avec une copie de travail propre. Cela signifie que vous devriez pas avoir des modifications locales non engagées avant de tirer. Utilisez la fonctionnalité de Stash de Git pour enregistrer temporairement vos modifications locales.
Conseil
Auto-Fetching + Auto-étanche dans la tour
Dans le cas où vous utilisez le client Tower Git, vous n’avez pas à récupérer manuellement Tout le temps: Tour va chercher pour votre arrière-plan, régulièrement et automatiquement. Et si vous essayez de tirer tout en ayant des modifications locales non engagées dans votre copie de travail, Tower proposera automatiquement stocker en toute sécurité ceux sur une cachette pour toi:
Apprendre encore plus
- Consultez le chapitre inspectant les données distantes dans notre livre en ligne gratuit
- Des questions plus fréquemment posées sur le contrôle GIT et la version
Obtenez notre populaire Feuille de triche git gratuitement!
Vous trouverez les commandes les plus importantes sur le devant et les conseils des meilleures pratiques utiles à l’arrière. Plus de 100 000 développeurs l’ont téléchargé pour rendre Git un peu plus facile.
À propos de nous
En tant que créateurs de Tower, le meilleur client Git pour Mac et Windows, nous aidons plus de 100 000 utilisateurs dans des entreprises comme Apple, Google, Amazon, Twitter et eBay à tirer le meilleur parti de Git.
Tout comme avec Tower, notre mission avec cette plate-forme est d’aider les gens à devenir de meilleurs professionnels.
C’est pourquoi nous fournissons nos guides, vidéos et feuilles de triche (sur le contrôle de version avec Git et beaucoup d’autres sujets) gratuitement.
© 2010-2023 Tour – Les noms de produits mentionnés et les logos sont la propriété de leurs propriétaires respectifs.
Obtenir des modifications d’un référentiel distant
Vous pouvez utiliser des commandes GIT communes pour accéder aux référentiels distants.
Options pour obtenir des modifications
Ces commandes sont très utiles lors de l’interaction avec un référentiel distant. Clone and Rechet Télécharger le code distant de l’URL distante d’un référentiel vers votre ordinateur local, la fusion est utilisée pour fusionner le travail de différentes personnes avec le vôtre, et Pull est une combinaison de récupération et de fusion .
Cloner un référentiel
Pour prendre une copie complète du référentiel d’un autre utilisateur, utilisez Git Clone comme ceci:
$ git clone https: // github.com / nom d'utilisateur / référentiel.git # clones un référentiel à votre ordinateur
Vous pouvez choisir parmi plusieurs URL différentes lors du clonage d’un référentiel. Bien que connectés à GitHub, ces URL sont disponibles sur la page principale du référentiel lorsque vous cliquez
Lorsque vous exécutez Git Clone, les actions suivantes se produisent:
- Un nouveau dossier appelé repo est fait
- Il est initialisé comme un référentiel Git
- Une origine éloignée nommée est créée, pointant vers l’URL que vous avez cloné
- Tous les fichiers et engagements du référentiel y sont téléchargés
- La branche par défaut est vérifiée
Pour chaque branche FOO dans le référentiel distant, une branche à distance correspondante Refs / Remotes / Origin / Foo est créée dans votre référentiel local. Vous pouvez généralement abréger ces noms de branche de suivi à distance à Origin / FOO .
Récupérer les modifications d’un référentiel distant
Utilisez Git Fetch pour récupérer de nouveaux travaux effectués par d’autres personnes. Fetch à partir d’un référentiel saisit toutes les nouvelles branches et balises de suivi de la télécommande sans fusionner ces changements dans vos propres branches.
Si vous avez déjà un référentiel local avec une URL distante configurée pour le projet souhaité, vous pouvez saisir toutes les nouvelles informations en utilisant Git Fetch * Remotename * dans le terminal:
$ git récupérer les mises à jour de nom de télécommande réalisées vers un référentiel distant
Sinon, vous pouvez toujours ajouter une nouvelle télécommande puis récupérer. Pour plus d’informations, voir “Gestion des référentiels distants.”
Fusion des modifications dans votre branche locale
La fusion combine vos modifications locales avec les modifications apportées par d’autres.
En règle générale, vous fusionneriez une branche de suivi à distance (i.e., Une branche est venue à partir d’un référentiel distant) avec votre branche locale:
$ git fusiter la télécommande / nom de branche # fusion les mises à jour réalisées en ligne avec votre travail local
Tirer les modifications d’un référentiel distant
Git Pull est un raccourci pratique pour terminer à la fois Git Fetch et Git Merge dans la même commande:
$ git tire-name de la branche de télécommande # saisit les mises à jour en ligne et les fusionne avec votre travail local
Parce que Pull effectue une fusion sur les modifications récupérées, vous devez vous assurer que votre travail local est engagé avant d’exécuter la commande Pull. Si vous rencontrez un conflit de fusion, vous ne pouvez pas résoudre, ou si vous décidez de quitter la fusion, vous pouvez utiliser Git Merge – Abort pour ramener la branche à l’endroit où il se trouvait avant de tirer.
Dès la lecture
- “Travailler avec les télécommandes” Pro git livre”
- “Dépannage des problèmes de connectivité”
Aide et soutien
Aidez-nous à rendre ces documents formidables!
Tous les documents GitHub sont open source. Voir quelque chose de mal ou de savoir? Soumettre une demande de traction.