Je dois télécharger l'API Facebook depuis GitHub . Normalement, je clique simplement sur l'onglet "Téléchargements" pour télécharger le dernier code source. Dans ce cas, j'ai besoin d'un commit plus ancien: 91f256424531030a454548693c3a6ca49ca3f35a , mais je n'ai aucune idée de comment obtenir l'intégralité du projet à partir de ce commit ...
Est-ce que quelqu'un pourrait m'expliquer comment faire cela?
(BTW, je suis sur un mac. Je ne sais pas si cela fait une différence).
Réponses:
Tout d'abord, clonez le référentiel en utilisant git, par exemple avec:
Cela télécharge l'historique complet du référentiel, vous pouvez donc passer à n'importe quelle version. Ensuite, passez au référentiel nouvellement cloné:
... et utilisez
git checkout <COMMIT>
pour passer au bon commit:Cela vous donnera un avertissement, puisque vous n'êtes plus sur une branche et que vous êtes directement passé à une version particulière. (Ceci est connu sous le nom d'état "HEAD détaché".) Comme il semble que vous souhaitiez uniquement utiliser ce SDK, plutôt que de le développer activement, ce n'est pas quelque chose dont vous devez vous inquiéter, à moins que vous ne souhaitiez le savoir en savoir plus sur le fonctionnement de git.
la source
git export
si vous voulez simplement les fichiers.git checkout -q <commit#>
fait taire l'avertissement stderr pendant la vérification de git.Je ne sais pas si elle était là lorsque vous avez posté cette question, mais la meilleure et la plus simple façon de télécharger un commit est de cliquer sur l' onglet commits lors de la visualisation d'un référentiel. Ensuite, au lieu de cliquer sur le nom du commit, cliquez sur Parcourir le référentiel à ce stade dans le bouton historique avec le symbole <> à droite du nom / message du commit, et enfin sur le bouton Télécharger ZIP qui vient lorsque vous cliquez sur Cloner ou Bouton de téléchargement .
J'espère que cela vous aidera les gars.
la source
git reflog
, puis vérifier le commit détachéLa réponse de Sivan en gif
1.Cliquez sur les commits dans github
2.Sélectionnez Parcourir le code sur le côté droit de chaque commit
3.Cliquez sur le zip de téléchargement, qui téléchargera le code source à ce moment de la validation
la source
Pour simplement télécharger un commit en utilisant la forme courte SHA1 à 7 chiffres, procédez comme suit:
Exemple de travail:
La description:
la source
Le moyen le plus simple que j'ai trouvé pour récupérer un commit perdu (qui n'existe que sur github et pas localement) est de créer une nouvelle branche qui inclut ce commit.
git pull
la nouvelle succursale jusqu'au localla source
Le titre de la question est ambigu.
la source
En plus de la réponse acceptée:
Pour voir les hachages, vous devez utiliser la commande suggérée "git checkout hash ", vous pouvez utiliser
git log
. Cependant, en fonction de vos besoins, il existe un moyen plus simple que de copier / coller des hachages.Vous pouvez utiliser
git log --oneline
pour lire de nombreux messages de validation dans un format plus compressé.Disons que vous voyez cette liste en une ligne des commits avec un minimum d'informations et des hachages partiellement visibles:
Si vous le souhaitez
last commit
, vous pouvez utilisergit checkout master^
. Le^
vous donne le commit avant le maître. Alorshash222
.Si vous voulez le n-ième dernier commit, vous pouvez utiliser
git checkout master~n
. Par exemple, utilisergit checkout master~2
vous donnera le commithash333
.la source
Au lieu de naviguer dans les commits, vous pouvez également appuyer sur la ytouche ( Aide Github , Raccourcis clavier ) pour obtenir le "permalien" de la révision / validation actuelle.
Cela changera l'URL de
https://github.com/<user>/<repository>
(master / HEAD) àhttps://github.com/<user>/<repository>/tree/<commit id>
.Afin de télécharger le commit spécifique, vous devrez recharger la page à partir de cette URL, de sorte que le
Clone or Download
bouton pointe vers le "snapshot"https://github.com/<user>/<repository>/archive/<commit id>.zip
au lieu du dernierhttps://github.com/<user>/<repository>/archive/master.zip
.la source
Essayez la séquence de commandes suivante:
la source
Si vous voulez aller avec un certain commit ou voulez coder un certain commit, vous pouvez utiliser la commande ci-dessous:
Exemple:
la source