-L local local
lorsque le dépôt à cloner se trouve sur une machine locale,cet indicateur contourne le mécanisme de transport normal « git aware » et clone le dépôt en faisant une copie de Head et de tout sous les répertoires objects et refs.Les fichiers sous .git/objects/
répertoire sont hardlinkedto économiser de l’espace lorsque possible.
Si le dépôt est spécifié comme un chemin local (par exemple,/path/to/repo
), c’est la valeur par défaut, et –local est essentiellement un no-op., Si therepository est spécifié en tant qu’URL, cet indicateur est ignoré (et nous n’utilisons jamais les optimisations locales). Spécifier --no-local
remplacera la valeur par défaut lorsque /path/to/repo
est donné, en utilisant le transport regularGit à la place.
Force no-hardlinks
Force le processus de Clonage à partir d’un dépôt sur un système de fichiers local à copier les fichiers sous le répertoire.git/objects
au lieu d’utiliser des liens physiques. Cela peut être souhaitable si vous essayez de faire une sauvegarde de votre référentiel.,
-S shared shared
lorsque le dépôt à cloner est sur la machine locale,au lieu d’utiliser des liens physiques, configurez automatiquement.git/objects/info/alternates
pour partager les objets avec le dépôt source. Le repositorystarts résultant sans aucun objet de son propre.
Remarque: Il s’agit d’une opération potentiellement dangereuse; ne l’utilisez pas à moins que vous ne compreniez ce qu’elle fait. Si vous clonez votre répertoire à l’aide de cette option, puis supprimez des branches (ou utilisez une autre commande Git qui rend toute validation existante non référencée) dans le référentiel source, Certains objets peuvent devenir non référencés (ou suspendus).,Ces objets peuvent être supprimés par des opérations git normales (telles que git commit
)qui appellent automatiquement git maintenance run --auto
. (Seegit d’entretien.) Si ces objets sont supprimés et ont été référencés par le référentiel cloné, le référentiel cloné sera corrompu.
Notez que l’exécution de git repack
sans --local
option dans un repositorycloned avec des --shared
copie les objets du référentiel source dans un packin clonés de dépôt, de retrait de l’espace disque d’épargne de clone --shared
.,Il est cependant sûr d’exécuter git gc
, qui utilise l’option --local
bydefault.
Si vous voulez briser la dépendance d’un dépôt cloné avec--shared
sur son dépôt source, vous pouvez simplement exécutergit repack -a
pour copier les allobjects du dépôt source dans un pack dans le dépôt cloné.,
–référence <dépôt>
Si le référentiel est sur la machine locale,automatiquement le programme d’installation .git/objects/info/alternates
toobtain des objets à partir d’un référentiel. L’utilisation d’un référentiel déjà existant comme alternative nécessitera moins d’objets à copier à partir du référentiel, ce qui réduit les coûts de stockage réseau et local.Lorsque vous utilisez le --reference-if-able
, un répertoire inexistant est ignoré avec un avertissement au lieu d’abandonner le clone.,
remarque: voir la NOTE pour l’option--shared
, ainsi que l’option--dissociate
.
Diss dissociate
emprunter les objets des référentiels spécifiésavec les options--reference
uniquement pour réduire le transfert de réseau, et arrêter d’emprunter à partir d’eux après qu’un clone est fait en faisant les copies locales nécessaires des objets empruntés., Thisoption peut également être utilisé lors du clonage local à partir d’arepository qui emprunte déjà des objets d’un autre référentiel—le nouveau référentiel empruntera des objets du même référentiel, et cette option peut être utilisée pour arrêter le stockage.
-q quiet silencieux
fonctionne tranquillement. La progression n’est pas signalée au flux standarderror.
-v verb verbose
exécuter verbeusement. N’affecte pas le reporting de l’état d’avancement dans le flux d’erreur standard.,
progress progress
L’État de progression est signalé sur le flux d’erreur standard par défaut lorsqu’il est attaché à un terminal, sauf si--quiet
est spécifié. Cet indicateur force l’état de progression même si le flux d’erreur standard n’est pas dirigé vers un terminal.
server server-option=<option>
transmettez la chaîne donnée au serveur lors de la communication à l’aide de la version 2 de prototocol. La chaîne donnée ne doit pas contenir de NUL ou de LFcharacter. La gestion par le serveur des options de serveur, y comprisles inconnues, est spécifique au serveur.,Lorsque plusieurs --server-option=<option>
sont donnés, ils sont allsent de l’autre côté, dans l’ordre indiqué sur la ligne de commande.
-n no no-checkout
aucun checkout de HEAD n’est effectué une fois le clone terminé.
Make bare
créer un dépôt git nu. Autrement dit, au lieu de créer <directory>
et de placer les fichiers administratifs dans <directory>/.git
, faites du <directory>
lui-même le $GIT_DIR
. Cela implique évidemment le --no-checkout
car il n’y a nulle part où vérifier l’arbre de travail.,De plus, les têtes de branche à distance sont copiées directement aux têtes de branche locales correspondantes, sans les mapperà refs/remotes/origin/
. Lorsque cette option est utilisée, ni les branches de suivi à distance ni les variables relatedconfiguration ne sont créées.
Initi sparse
initialise le fichier sparse-checkout afin que le répertoire de travail commence avec uniquement les fichiers de la racine du référentiel. Le fichier clairsemé peut être modifié pour développer le répertoire de travail au besoin.,
filter filter=<filter-spec>
utilisez la fonction de clone partiel et demandez au serveur d’envoyer un sous-ensemble d’objets accessibles en fonction d’un filtre d’objet donné.Lorsque vous utilisez --filter
, le <filter-spec>
fourni est utilisé pour le filtre de clone partiel. Par exemple, --filter=blob:none
filtrera tous les blobs (contenu du fichier) jusqu’à ce que Git en ait besoin. Aussi,--filter=blob:limit=<size>
filtre tous les blobs de sizeat moins <size>
., Pour plus de détails sur les spécifications du filtre, voir l’option --filter
dans git-rev-list.
mirror mirror
configurez un miroir du dépôt source. Cela implique --bare
.Par rapport à --bare
, --mirror
non seulement mappe les branches locales de thesource aux branches locales de la cible, il mappe toutes les refs (y compris les branches de suivi à distance, les notes, etc.) et met en place une configuration refspec telle que toutes ces références sont écrasées par un git remote update
dans le référentiel cible.,
-o <name> –origin <name>
Instead of using the remote name origin
to keep track of the upstreamrepository, use <name>
. Overrides clone.defaultRemoteName
from theconfig.,
-b <nom> branch branch <nom>
Au Lieu de pointer la tête nouvellement créée vers la branche pointée par la tête du dépôt cloné, pointez vers <name>
branchau lieu de cela. Dans un référentiel non nu, c’est la branche qui sera extraite.--branch
peut également prendre des balises et détacher la tête de ce commitdans le référentiel résultant.,
-u <upload-pack> –upload-pack <upload-pack>
lorsqu’il est donné, et le dépôt à cloner à partir est accessedvia ssh, ce spécifie un chemin non par défaut pour l’exécution de la commande à l’autre extrémité.
template template=<template_directory>
spécifiez le répertoire à partir duquel les modèles seront utilisés;(voir la section « répertoire des modèles » de git-init.,)
-c <touche>=<valeur> –config <touche>=<valeur>
Définir une variable de configuration dans le nouveau référentiel, ce qui prend effet immédiatement après le dépôt isinitialized, mais avant de la télécommande de l’histoire est extraite ou anyfiles vérifié. La clé est dans le même format que prévu par git-config (par exemple, core.eol=true
)., Si plusieurs valeurs sont données pour la même clé, chaque valeur sera écrite dans le fichier de configuration. Cela permet, par exemple, d’ajouter des refspecs fetch supplémentaires à la télécommande d’origine.
en raison des limitations de l’implémentation actuelle, certaines configurationvariables ne prennent effet qu’après la récupération et la vérification initiales.Les variables de Configuration connu pour ne pas prendre effet sont:remote.<name>.mirror
et remote.<name>.tagOpt
. Utilisez les options --mirror
Et --no-tags
correspondant à la place.,
–profondeur <profondeur>
Créer un clone simple avec une histoire tronquée à thespecified nombre de commits. Implique --single-branch
sauf si--no-single-branch
est donné pour récupérer les historiques près des conseils de toutes les branches. Si vous souhaitez cloner les sous-modules de manière superficielle, passez également --shallow-submodules
.
–peu profonde depuis=<date>
Créer un clone simple avec une histoire après l’heure indiquée.,
Create shallow-exclude=<revision>
créez un clone shallow avec un historique, en excluant commitsreachable à partir d’une branche ou d’une balise distante spécifiée. Cette optionpeut être spécifiée plusieurs fois.
single single-branch
Cloner uniquement l’historique menant à la pointe d’une seule branche,soit spécifié par l’option--branch
, soit par l’optionHEAD
de la télécommande primarybranch.D’autres extractions dans le référentiel résultant ne mettront à jour theremote-tracking branche pour la branche cette option a été utilisée pour le clonage initial., Si la tête de la télécommande ne pointait sur aucune branche lorsque --single-branch
clone a été créé, aucun Remote-trackingbranch est créé.
–no-tags
peut être utilisé conjointement avec --single-branch
pour cloner et maintenir une branche sans autre référence qu’une seule branche clonée. Ceci est utile par exemple pour maintenir un minimum de clones de la branche par défaut d’un dépôt pour l’indexation de recherche.
recur recurse-submodules
Une fois le clone créé, initialisez et clonez submoduleswithin en fonction du pathspec fourni., Si aucun pathspec n’est fourni, tous les sous-modules sont initialisés et clonés.Cette option peut être donnée plusieurs fois pour pathspecs consistant en plusieurs entrées. Le clone résultant a submodule.active
défini sur le chemin fourni, ou ». »(ce qui signifie Tous les sous-modules) si nopathspec est fourni.
Les sous-modules sont initialisés et clonés en utilisant leurs paramètres par défaut. Ceci est équivalent à l’exécution degit submodule update --init --recursive <pathspec>
immédiatement après la fin du clone. Cette option est ignorée si le référentiel cloné n’a pas d’arbre de travail / checkout (c’est-à-dire, si l’un des --no-checkout
/-n
, --bare
ou --mirror
est donné)
–peu profonde submodules
Tous les submodules qui sont clonés sera profond, avec une profondeur de 1.
All remote-submodules
Tous les sous-modules qui sont clonés utiliseront l’état de la branche remote-tracking du sous-module pour mettre à jour le sous-module, plutôt que le SHA-1 enregistré du superproject. L’équivalent de passage --remote
degit submodule update
.,
separate separate-git-dir=<git dir>
Au lieu de placer le dépôt cloné là où il est supposépour être, placez le dépôt cloné dans le répertoire spécifié,puis créez un lien symbolique git indépendant du système de fichiers.Le résultat est que le dépôt Git peut être séparé de workingtree.
-j <n> –emplois <n>
Le nombre de submodules extraites en même temps.Par défaut, l’option submodule.fetchJobs
.,
<dépôt>
(éventuellement à distance) référentiel pour cloner. Voir la section URLS de theGIT ci-dessous pour plus d’informations sur specifyingrepositories.
<répertoire >
Leave a Reply