Ist es sicher, flach mit --depth 1 zu klonen, Commits zu erstellen und Updates erneut zu laden?
Den --depth 1
option in git clone
:
Erstellen Sie eine flachen - Klon mit einem Verlauf gekürzt um die angegebene Anzahl von Revisionen. Eine flache repository hat eine Reihe von Einschränkungen (man kann nicht Klonen oder Holen Sie sich von ihm, noch push aus, noch in es), aber ist ausreichend, wenn Sie interessiert sind, nur die jüngste Geschichte von einem großen Projekt mit einer langen Geschichte, und würde senden möchten-Updates als patches.
Aber ich habe erfolgreich getan "shallow clone", begangen einige änderungen und schob diese änderungen zurück auf die (bare-clone) Herkunft.
Macht es Sinn für mich - ich meine, warum nicht? wenn die geklonte KOPF bestimmbar ist, in der Herkunft, und mein commit kommt oben auf diese, scheint es keinen Grund. Aber das Handbuch sagt etwas anderes.
Ich mag die Idee von "shallow clone" - z.B. von drupal-core: es gibt keinen Weg, ich muss wissen, was ging in drupal 4, als ich angefangen habe, ab 7. - aber ich will nicht Schießen selbst in den Fuß.
So ist es sicher zu flach Klon, entwickeln sich auf, ziehen Sie wieder, halten Sie sich mit updates von origin?
InformationsquelleAutor der Frage artfulrobot | 2011-08-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beachten Sie, dass Git 1.9/2.0 (Q1 2014) hat entferntdass die Einschränkung.
Sehen commit 82fba2b, von Nguyễn Thái Ngọc Duy (
pclouds
):Den Dokumentation jetzt liest:
Stammt aus begeht, wie 0d7d285f2c681cund c29a7b8 die Unterstützung Klon, senden-pack /receive-pack-mit/von shallow-clones.
smart-http unterstützt jetzt flach fetch/clone zu.
Alle details sind in "
flach.c
: die 8 Schritte, um neue commits für.git/shallow
".Update Juni 2015: Git 2.5 sogar für Holen einer einzelnen commit!
(Ultimate flachen Fall)
Update Januar 2016: Git 2.8 (Mach-2016) jetzt Dokumente, die offiziell die Praxis der immer eine minimale Geschichte.
Sehen commit 99487cf, commit 9cfde9e (30 Dez 2015), commit 9cfde9e (30 Dez 2015), commit bac5874 (29 Dez 2015), und commit 1de2e44 (28 Dec 2015), die von Stephen P. Smith (`).
(Zusammengefasst von Junio C Hamano --
gitster
-- in commit 7e3e80a20 Jan 2016)Dies ist "
Documentation/user-manual.txt
"Mehr auf die "shallow clone" - update-Prozess finden Sie unter "So aktualisieren Sie ein git-shallow clone"?".
Als kommentiert von Richard Michael:
Und Olle Härstedt fügt in den Kommentaren:
InformationsquelleAutor der Antwort VonC
Finden Sie einige Antworten auf meine ähnliche Frage why-cant-i-push-von-a-shallow-clone und der link zum letzten thread auf die git-Liste.
Letztlich, die Tiefe der Messung ist nicht konsistent zwischen den repos, weil Sie Messen aus, die Ihre individuelle Köpfe, sondern als (eine) Ihre Kopf, oder (b) commit(s) Sie geklont/geholt werden, oder (c) etwas, was Sie im Sinn hatte.
Die harte bit ist, sich einen Use-Case-rechts (d.h. widerspruchsfrei), so dass sich verteilt, und daher wahrscheinlich abweichende repos funktionieren immer noch glücklich zusammen.
Er sieht aus wie der
checkout --orphan
ist das richtige "set-up" - Phase, aber noch immer fehlt sauberes (d.h. eine einfache verständliche one-line-Befehl) die Anleitung für die "Klon" - Schritt. Eher sieht es aus wie Sie haben zuinit
eine repo, die Einrichtung einesremote
tracking-branch (Sie wollen, die eine Filiale nur???), und dannfetch
die einzige Verzweigung, die fühlt sich langatmig mit mehr Möglichkeiten für Fehler.Edit: Für den 'Klon' Schritt sehen diese Antwort
InformationsquelleAutor der Antwort Philip Oakley