Follow-up dieser Frage: Wenn ich einen flachen Klon habe, wie kann ich alle älteren Commits abrufen, um daraus einen vollständigen Klon zu machen?
Follow-up dieser Frage: Wenn ich einen flachen Klon habe, wie kann ich alle älteren Commits abrufen, um daraus einen vollständigen Klon zu machen?
Antworten:
EDIT: git fetch --unshallow
Jetzt ist eine Option (danke Jack O'Connor).
Sie können ausführen git fetch --depth=1000000
(vorausgesetzt, das Repository verfügt über weniger als eine Million Commits).
git fetch --unshallow
existiert (wie in der Antwort von @ sdram), ist diese Antwort nicht mehr die beste.
git fetch --depth=2147483647
ist die größtmögliche Tiefe, die dem Befehl zur Verfügung gestellt werden kann.
git fetch --unshallow
, aber es zeigt immer noch nicht alle Zweige.
Der folgende Befehl (Git-Version 1.8.3) konvertiert den flachen Klon in einen regulären
git fetch --unshallow
Dann, um Zugriff auf alle Zweige am Ursprung zu erhalten (danke @Peter in den Kommentaren)
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*";
git fetch origin
Von einer Antwort sollte es dasselbe geben wie das Bearbeiten von .git / config von Hand
git fetch --unshallow --update-head-ok origin '+refs/heads/*:refs/heads/*'
arbeitete für mich
Ich musste ein Repo nur auf ein bestimmtes Commit vertiefen.
Nach dem Lesen man git-fetch
stellte ich fest, dass man kein Commit angeben kann, aber ein Datum angeben kann:
git fetch --shallow-since=15/11/2012
Für diejenigen, die eine schrittweise Vertiefung benötigen, ein weiteres man
Zitat:
--deepen=<depth>
Ähnlich wie --depth, außer dass die Anzahl der Commits von der aktuellen flachen Grenze anstelle von der Spitze jedes Remote-Zweigverlaufs angegeben wird.
Keine der oben genannten Nachrichten hat den Trick getan. Ich versuche mit Git-Tags zu arbeiten, die von einem flachen Klon ausgehen.
Zuerst habe ich es versucht
git fetch --update-shallow
welche Art von auf halbem Weg gearbeitet. Es sind jedoch keine Tags verfügbar!
git fetch --depth=1000000
Dieser letzte Befehl hat die Tags wirklich abgerufen und ich konnte sie endlich ausführen
git checkout -b master-v1.1.0 tags/v1.1.0
und damit fertig sein.
HTH