Wie man ein Git-Repo mit allen nicht verknüpften Commits aus dem Github zieht

13

Ich frage mich, wie ich ein Repo mit all den Commits ziehen kann, die nicht gc'd wurden, wenn das möglich ist.

ist es so etwas wie:

$ git clone x
$ cd x
$ git fetch origin -f

? oder etwas anderes?

ztatic
quelle
Was versuchst du zu erreichen? Wenn wir wissen, warum Sie das brauchen, können wir Ihnen vielleicht eine bessere Antwort geben. Normalerweise verweist der Eigentümer des Remote-Repositorys auf Commits, die abgerufen werden sollen. Dangling Commits, die nicht gc'd wurden, laufen Gefahr, jederzeit verloren zu gehen.
Stephen Jennings
stackoverflow.com/questions/14770127/…
Ciro Santilli 法轮功 病毒 审查 六四 事件 法轮功

Antworten:

5

Mir ist kein Befehl bekannt, der besagt, dass alle Festschreibungsobjekte im Remote-Repository heruntergefahren werden, auch diejenigen, auf die nicht verwiesen wird.

Sie können Commits nur mit einer Referenz in das Remote-Repository bringen. Sie können dies mit dem folgenden Befehl tun:

git fetch [remote] [remoteBranch]:[localBranch]

Das Remote-Repository muss einen Verweis auf alle baumelnden Commits erstellen, bevor Sie sie abrufen können. Wenn Sie Zugriff auf das Remote-Repository haben, können Sie dies mit einem Befehl wie dem folgenden tun:

git fsck --lost-found

Die Ausgabe zeigt Ihnen alle baumelnden Commits. Geben Sie ihnen eine Referenz mit git branch [branchname] [commit sha1], dann können Sie sie abrufen.

Stephen Jennings
quelle