402 Stimmen

Wie konvertiert man einen flachen Git-Klon in einen vollständigen Klon?

Weiterverfolgung von cette Frage: Wenn ich einen oberflächlichen Klon habe, wie kann ich alle älteren Commits holen, um ihn zu einem vollständigen Klon zu machen?

910voto

Ramkumar D Punkte 8310

Der folgende Befehl (Git-Version 1.8.3) wandelt den flachen Klon in einen regulären Klon um

git fetch --unshallow

Dann, um Zugang zu allen Zweigen auf Origin zu bekommen (danke @Peter in den Kommentaren)

git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin

241voto

svick Punkte 224493

EDITAR: git fetch --unshallow ist jetzt eine Option (danke Jack O'Connor).

Sie können git fetch --depth=2147483647

Von der docs on shallow :

Die spezielle Tiefe 2147483647 (oder 0x7fffffff, die größte positive Zahl, die eine vorzeichenbehaftete 32-Bit-Ganzzahl enthalten kann) bedeutet unendliche Tiefe.

32voto

Victor Sergienko Punkte 12396

Ich musste ein Repo nur bis zu einem bestimmten Commit vertiefen.

Nach der Lektüre man git-fetch Ich habe herausgefunden, dass man keinen Commit, aber ein Datum angeben kann:

git fetch --shallow-since=15/11/2012

Für diejenigen, die eine schrittweise Vertiefung benötigen, ist eine weitere man Zitat:

--deepen=<depth>

Ähnlich wie --depth, nur dass hier die Anzahl der Übertragungen von der aktuellen flachen Grenze aus angibt, anstatt von der Spitze eines jeden entfernten Zweigverlaufs.

2voto

Altynai Punkte 21

Sie können dies versuchen:

git fetch --update-shallow

1voto

Gen.Stack Punkte 203

Keine der oben genannten Meldungen hat etwas bewirkt. Ich versuche, mit Git-Tags zu arbeiten, ausgehend von einem flachen Klon.

Zuerst habe ich versucht

git fetch --update-shallow

was nach der Hälfte der Zeit irgendwie funktionierte. Dennoch sind keine Tags verfügbar!

git fetch --depth=1000000

Dieser letzte Befehl hat die Tags wirklich geholt und ich konnte endlich ausführen

git checkout -b master-v1.1.0 tags/v1.1.0

und damit fertig werden.

HTH

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X