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?


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

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.