kzen.dev
  • Questions
  • Tags
  • Utilisateurs
Notifications
Récompenses
Inscription
Une fois inscrit, vous serez informé des réponses et des commentaires à vos questions.
Connectez-vous
Si vous avez déjà un compte, connectez-vous pour vérifier les nouvelles notifications.
Il y aura des récompenses pour les questions, réponses et commentaires ajoutés.
Détails
Source
Editer
Varun Chitre
Varun Chitre
Question

Récupérer un commit spécifique d'un dépôt Git distant

Existe-t-il un moyen de récupérer un seul commit spécifique d'un dépôt Git distant sans le cloner sur mon PC ? La structure du dépôt distant est absolument identique à celle du mien et il n&#8217y aura donc aucun conflit, mais je n&#8217ai aucune idée de la façon de procéder et je ne veux pas cloner cet énorme dépôt.

Je suis novice en matière de git, y a-t-il un moyen ?

178 2013-02-14T10:18:07+00:00 3
 Daniel
Daniel
Question modifiée 26 août 2015 в 2:33
Programmation
git
git-fetch
Vidéos populaires
Git Reset to a specific commit - version
Git Reset to a specific commit - version
il y a 6 ans
Récupérer des modifications  Git
Récupérer des modifications Git
il y a 7 ans
Github : Créer un repository et le lier à un dossier.
Github : Créer un repository et le lier à un dossier.
il y a 2 ans
GITLAB - 2. DÉPÔT GIT
GITLAB - 2. DÉPÔT GIT
il y a 4 ans
Git - 5. Revenir en arrière (sur un commit) | tutos fr
Git - 5. Revenir en arrière (sur un commit) | tutos fr
il y a 4 ans
GIT - 1. PREMIER PAS ET COMMIT
GIT - 1. PREMIER PAS ET COMMIT
il y a 4 ans
Apprendre à utiliser Git (Github, Bitbucket) - 2 - Créer un dépôt Git et faire son premier commit
Apprendre à utiliser Git (Github, Bitbucket) - 2 - Créer un dépôt Git et faire son premier commit
il y a 7 ans
Tutoriel Git - Github, push & pull - #3
Tutoriel Git - Github, push & pull - #3
il y a 5 ans
Apprendre Git 6/6: Ajouter un repo distant et travailler à plusieurs
Apprendre Git 6/6: Ajouter un repo distant et travailler à plusieurs
il y a 2 ans
Git09-Récupérer un NOUVEAU COMMIT présent sur le dépôt distant pour le mettre dans le dépôt local
Git09-Récupérer un NOUVEAU COMMIT présent sur le dépôt distant pour le mettre dans le dépôt local
il y a 1 an
Git et GitHub : Découvrez les bases du versionning de fichier
Git et GitHub : Découvrez les bases du versionning de fichier
il y a 1 an
Git10-Cloner un dépôt distant sur GitHub pour le mettre dans le dépôt local du folder dans son pc
Git10-Cloner un dépôt distant sur GitHub pour le mettre dans le dépôt local du folder dans son pc
il y a 1 an
Git rebase - Reword : Modifier le message de n'importe quel commit
Git rebase - Reword : Modifier le message de n'importe quel commit
il y a 3 ans
Git 2 - Link your local repo with a remote and push commits
Git 2 - Link your local repo with a remote and push commits
il y a 6 ans
Git04-Mettre son programme sur GitHub-Pousser son premier COMMIT-Gestion du Credential Manager Win10
Git04-Mettre son programme sur GitHub-Pousser son premier COMMIT-Gestion du Credential Manager Win10
il y a 1 an
« Précédent
Suivant »
Cette question a 1 réponse en anglais, pour les lire connectez-vous à votre compte.
 CharlesB
CharlesB
14 février 2013 в 10:23
2013-02-14T10:23:16+00:00
Détails
Source
Editer
#18507893

Vous ne clonez qu'une fois, donc si vous avez déjà un clone du dépôt distant, le fait de le retirer ne téléchargera pas tout à nouveau. Il suffit d'indiquer la branche que vous voulez extraire, ou de récupérer les changements et de vérifier le commit que vous voulez.

L'extraction à partir d'un nouveau dépôt est très économique en bande passante, car elle ne téléchargera que les modifications que vous n'avez pas. Pensez en termes de Git qui fait la bonne chose, avec une charge minimale.

Git stocke tout dans le dossier `.git'. Un commit ne peut pas être récupéré et stocké isolément, il a besoin de tous ses ancêtres. Ils sont interconnectés.


Pour réduire la taille du téléchargement, vous pouvez cependant demander à git de ne récupérer que les objets liés à une branche ou un commit spécifique :

git fetch origin refs/heads/branch:refs/remotes/origin/branch

Ceci téléchargera seulement les commits contenus dans la branche distante branch (et seulement ceux qui vous manquent), et les stockera dans origin/branch. Vous pouvez alors fusionner ou extraire.

Vous pouvez aussi spécifier seulement un commit SHA1 :

git fetch origin 96de5297df870:refs/remotes/origin/foo-commit

Ceci ne téléchargera que le commit SHA-1 spécifié 96de5297df870 (et ses ancêtres qui vous manquent), et le stockera dans la branche distante (inexistante) origin/foo-commit.

 Flow
Flow
Réponse modifiée 6 juin 2014 в 2:46
94
0
Piu Sharma
Piu Sharma
3 décembre 2013 в 12:43
2013-12-03T12:43:17+00:00
Détails
Source
Editer
#18507894

J'ai fait un pull sur mon dépôt git :

git pull --rebase <repo> <branch>

J'ai permis à git de récupérer tout le code de la branche, puis j'ai fait un reset sur le commit qui m'intéressait.

git reset --hard <commit-hash>

J'espère que cela vous aidera.

59
0
 Flow
Flow
6 juin 2014 в 2:50
2014-06-06T14:50:35+00:00
Détails
Source
Editer
#18507895

Vous pouvez simplement récupérer un seul commit d'un repo distant avec

git fetch <repo> <commit>

où,

  • <repo> peut être un nom de repo distant (par exemple origin) ou même une URL de repo distant (par exemple https://git.foo.com/myrepo.git)
  • <commit> peut être le commit SHA1

par exemple

git fetch https://git.foo.com/myrepo.git 0a071603d87e0b89738599c160583a19a6d95545

après avoir récupéré le commit (et les ancêtres manquants), vous pouvez simplement le checkoutter avec

git checkout FETCH_HEAD

Notez que cela vous amènera à l'état "detached head&quot ;.

48
0
Ajouter une question
Catégories
Toutes
Technologie
Culture / Loisirs
Vie / Arts
Science
Professionnel
Entreprises
Utilisateurs
Tous
Nouveau
Populaire
1
Ilya Smirnov
Enregistré il y a 6 jours
2
Денис Васьков
Enregistré il y a 1 semaine
3
Dima Patrushev
Enregistré il y a 1 semaine
4
sirojidddin otaboyev
Enregistré il y a 2 semaines
5
Елена Гайдамамакинат
Enregistré il y a 2 semaines
DE
EL
ES
FR
ID
IT
JA
KO
NL
NO
PT
RO
RU
TR
UK
ZH
© kzen.dev 2023
Source
stackoverflow.com
sous licence cc by-sa 3.0 avec l'attribution