Heim > Artikel > Entwicklungswerkzeuge > Mit dieser Technik kann das Klonen von Git um ein Vielfaches beschleunigt werden!
Ich weiß nicht, ob Sie jemals auf ein relativ großes Projekt gestoßen sind, bei dem das Klonen von Git sehr langsam ist oder sogar fehlschlägt. Wie werden alle damit umgehen?
Vielleicht erwägen Sie den Wechsel zu einer anderen Download-Quelle und verwenden möglicherweise Mittel, um die Internetgeschwindigkeit zu erhöhen. Aber was ist, wenn Sie all dies ausprobiert haben und es immer noch langsam ist?
Ich bin heute auf dieses Problem gestoßen. Ich musste den Typoskript-Code von Gitlab herunterladen, aber die Geschwindigkeit war sehr langsam:
git clone https://github.com/microsoft/TypeScript ts
Nachdem ich lange gewartet hatte, war der Download immer noch nicht abgeschlossen, also habe ich einen Parameter hinzugefügt:
git clone https://github.com/microsoft/TypeScript --depth=1 ts
Dies hat die Geschwindigkeit Dutzende Male verbessert, es wurde sofort heruntergeladen.
Durch das Hinzufügen von -- Depth wird nur ein Commit heruntergeladen, sodass der Inhalt viel geringer ist und die Geschwindigkeit steigt. [Verwandte Empfehlungen: Tutorial zur Git-Nutzung]
Und der heruntergeladene Inhalt kann weiterhin neue Commits übermitteln und neue Zweige erstellen. Es hat keinen Einfluss auf die spätere Entwicklung, Sie können jedoch nicht zu historischen Commits und historischen Zweigen wechseln.
Ich habe es zuerst mit einem meiner Projekte getestet:
und dann einige Änderungen vorgenommen. Danach können Git Add, Commit und Push normal übermittelt werden:
Neue Zweige erstellen können auch normal eingereicht werden. Der einzige Nachteil besteht darin, dass Sie nicht zu historischen Commits und historischen Zweigen wechseln können.
In manchen Szenarien ist es sehr nützlich: Wenn Sie zum historischen Zweig wechseln müssen, können Sie auch berechnen, wie viele Commits erforderlich sind, und dann die Tiefe angeben, was auch die Geschwindigkeit verbessern kann.
Haben Sie jemals darüber nachgedacht, warum das funktioniert? Git-Prinzip Alle zugehörigen Bäume und Blobs sind der Inhalt dieses Commits.
Commits stehen in Beziehung zueinander und Head, Branch, Tag usw. sind Hinweise auf bestimmte Commits. Zu sehen unter .git/refs. Auf diese Weise werden Konzepte wie Branches und Tags basierend auf Commit implementiert.Ich hoffe, Sie können diese Technik verwenden, um die Git-Klongeschwindigkeit großer Projekte zu verbessern, ohne auf historische Commits und Branches umsteigen zu müssen.
Das obige ist der detaillierte Inhalt vonMit dieser Technik kann das Klonen von Git um ein Vielfaches beschleunigt werden!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!