Ich muss die Facebook-API von GitHub herunterladen. Normalerweise klicke ich einfach auf die Registerkarte "Downloads", um den neuesten Quellcode herunterzuladen. In diesem Fall benötige ich ein älteres Commit: 91f256424531030a454548693c3a6ca49ca3f35a , aber ich habe keine Ahnung, wie ich das gesamte Projekt aus diesem Commit holen kann. .
Kann mir bitte jemand sagen, wie das geht?
(Übrigens, ich bin auf einem Mac. Ich weiß nicht, ob das einen Unterschied macht).
Zuerst klonen Sie das Repository mit git, z. mit:
git clone git://github.com/facebook/facebook-ios-sdk.git
Dadurch wird der gesamte Verlauf des Repositorys heruntergeladen, sodass Sie zu jeder Version wechseln können. Als nächstes wechseln Sie in das neu geklonte Repository:
cd facebook-ios-sdk
... und mit git checkout <COMMIT>
zum richtigen Commit wechseln:
git checkout 91f25642453
Sie erhalten eine Warnung, da Sie sich nicht mehr in einem Zweig befinden und direkt zu einer bestimmten Version gewechselt sind. (Dies wird als "getrennter HEAD" -Zustand bezeichnet.) Da es sich anhört, als würden Sie dieses SDK nur verwenden, anstatt es aktiv zu entwickeln, müssen Sie sich keine Sorgen machen, es sei denn, Sie möchten es herausfinden mehr darüber, wie git funktioniert.
Ich weiß nicht, ob es dort war, als Sie diese Frage gepostet hatten. Der beste und einfachste Weg, ein Commit herunterzuladen, ist das Klicken auf die Registerkarte Commits, wenn Sie ein Repository anzeigen. Anstatt auf den Commit-Namen zu klicken, klicken Sie auf Durchsuchen Sie das Repository an dieser Stelle im Verlauf} die Schaltfläche _ mit dem Symbol <> auf der rechten Seite des Commit-Namens/der Nachricht und schließlich auf das Symbol Download Zip-Schaltfläche, wenn Sie auf die Schaltfläche Klonen oder Herunterladen klicken.
Ich hoffe es hilft euch Jungs.
Die einfachste Möglichkeit, einen verlorenen Commit (der nur auf github und nicht lokal vorhanden ist) wiederherzustellen, ist das Erstellen eines neuen Zweigs, der diesen Commit enthält.
git pull
der neue Zweig bis lokalLaden Sie einfach ein Commit mit der 7-stelligen SHA1-Kurzform herunter:
Arbeitsbeispiel:
https://github.com/python/cpython/archive/31af650.Zip
Beschreibung:
`https://github.com/username/projectname/archive/commitshakey.Zip`
Wenn Sie den langen Hash-Schlüssel
31af650ee25f65794b75d4dfefed6fe4758781c1
haben, holen Sie sich einfach die ersten 7 Zeichen31af650
. Dies ist die Standardeinstellung für GitHub.
Als Zusatz zu der akzeptierten Antwort:
Um die Hashes anzuzeigen, müssen Sie den vorgeschlagenen Befehl "git checkout hash " verwenden. Sie können git log
verwenden. Je nachdem, was Sie brauchen, gibt es jedoch einen einfacheren Weg als das Kopieren/Einfügen von Hashes.
Sie können git log --oneline
verwenden, um viele Commit-Nachrichten in einem stärker komprimierten Format zu lesen.
Nehmen wir an, Sie sehen hier eine einzeilige Liste der Commits mit minimalen Informationen und nur teilweise sichtbaren Hashes:
hash111 (HEAD -> master, Origin/master, Origin/HEAD)
hash222 last commit
hash333 I want this one
hash444 did something
....
Wenn Sie last commit
möchten, können Sie git checkout master^
verwenden. Der ^
gibt Ihnen das Commit before the master. Also hash222
.
Wenn Sie das n-te letzte Commit ausführen möchten, können Sie git checkout master~n
verwenden. Wenn Sie beispielsweise git checkout master~2
verwenden, erhalten Sie den Commit hash333
.
Der Fragentitel ist nicht eindeutig.