Ici, nous allons examiner la balise git clone
commande de profondeur. git clone
est un utilitaire de ligne de commande Git utilisé pour cibler un dépôt existant et créer un clone ou une copie du dépôt cible. Dans cette page, nous allons discuter des options de configuration étendues et des cas d’utilisation courants de git clone
., Voici quelques points que nous aborderons:
- Clonage d’un dépôt local ou distant
- Clonage d’un dépôt nu
- utilisation d’options superficielles pour cloner partiellement des dépôts
- syntaxe D’URL Git et protocoles pris en charge
dans le guide de configuration d’un dépôt, nous avons couvert un cas d’utilisation de base de git clone
. Cette page explorera des scénarios de clonage et de configuration plus complexes.,
objet: copie de développement de collaboration repo-to-repo
Si un projet a déjà été configuré dans un dépôt central, la commandegit clone
est le moyen le plus courant pour les utilisateurs d’obtenir une copie de développement. Comme git init
le clonage est généralement une opération ponctuelle. Une fois qu’un développeur a obtenu une copie de travail, toutes les opérations de contrôle de version et les collaborations sont gérées via leur référentiel local.,
collaboration Repo-to-repo
Il est important de comprendre que L’idée de Git d’une « copie de travail” est très différente de la copie de travail que vous obtenez en extrayant du code d’un dépôt SVN. Contrairement à SVN, Git ne fait aucune distinction entre la copie de travail et le dépôt central—ce sont tous des dépôts Git à part entière.
cela rend la collaboration avec Git fondamentalement différente de celle avec SVN. Alors que SVN dépend de la relation entre le dépôt central et la copie de travail, le modèle de collaboration de Git est basé sur l’interaction dépôt-dépôt., Au lieu de vérifier une copie de travail dans le référentiel central de SVN, vous poussez ou tirez des validations d’un référentiel à un autre.
bien sûr, rien ne vous empêche de donner une signification particulière à certains repos Git. Par exemple, en désignant simplement un dépôt Git comme dépôt « central”, il est possible de répliquer un flux de travail centralisé à l’aide de Git. Le fait est que cela est accompli par le biais de conventions plutôt que d’être câblé dans le VCS lui-même.,
utilisation
git clone
est principalement utilisé pour pointer vers un dépôt existant et faire un clone ou une copie de ce dépôt dans un nouveau répertoire, à un autre emplacement. Le référentiel d’origine peut être situé sur le système de fichiers local ou sur des protocoles pris en charge accessibles à une machine distante. La commandegit clone
copie un dépôt git existant. C’est un peu comme SVN checkout, sauf que la « copie de travail” est un dépôt Git à part entière-il a son propre historique, gère ses propres fichiers et est un environnement complètement isolé du dépôt d’origine.,
pour plus de commodité, le clonage crée automatiquement une connexion distante appelée « origine » pointant vers le référentiel d’origine. Cela rend très facile d’interagir avec un référentiel central. Cette connexion automatique est établie en créant des références git sur les têtes de branche distantes sous refs/remotes/origin
et en initialisant les variables de configuration remote.origin.url
et remote.origin.fetch
.
un exemple démontrant l’utilisation degit clone
se trouve dans le guide de configuration d’un référentiel., L’exemple ci-dessous montre comment obtenir une copie locale d’un référentiel central stockées sur un serveur accessible à: example.com
en utilisant le nom d’utilisateur SSH john:
git clone ssh://[email protected]/path/to/my-project.git
cd my-project
# Start working on the project
La première commande initialise un nouveau dépôt Git dans le my-project
dossier sur votre machine locale et le remplit avec le contenu du référentiel central. Ensuite, vous pouvez créer un cd dans le projet et commencer à éditer des fichiers, à valider des instantanés et à interagir avec d’autres référentiels., Notez également que l’extension.git
est omise du dépôt cloné. Cela reflète le statut non nu de la copie locale.
le Clonage d’un dossier spécifique
git clone <repo> <directory>
Cloner le dépôt situé dans <repo>
dans le dossier ~<directory>!
sur la machine locale.
le Clonage d’une balise spécifique
git clone --branch <tag> <repo>
Cloner le dépôt situé dans <repo>
et uniquement clone la ref pour le <tag>
.,
Faible clone
git clone -depth=1 <repo>
Cloner le dépôt situé dans <repo>
et seulement clone de l’
historique de commits spécifié par l’option depth=1. Dans cet exemple, un clone de <repo>
est créé et seul le commit le plus récent est inclus dans le nouveau dépôt cloné. Le clonage superficiel est plus utile lorsque vous travaillez avec des dépôts qui ont un historique de commits étendu. Un historique de validation étendu peut entraîner des problèmes de mise à l’échelle tels que des limites d’utilisation de l’espace disque et de longs temps d’attente lors du clonage., Un clone superficiel peut aider à atténuer ces problèmes de mise à l’échelle.
Options de Configuration
git clone-branch
l’argument-branch
vous permet de spécifier une branche spécifique à cloner au lieu de la branche vers laquelle pointe laHEAD
distante, généralement la branche principale. De plus, vous pouvez passer une balise au lieu d’une branche pour le même effet.
git clone -branch new_feature git://remoterepository.git
Cet exemple ci-dessus serait clone seulement le new_feature
branche à partir de la télécommande dépôt Git., Il s’agit purement d’un utilitaire de convaincre pour vous faire gagner du temps en téléchargeant la référence HEAD
du référentiel, puis en récupérant la référence dont vous avez besoin.
git clone -miroir vs git clone -nu
git clone –bare
type git init --bare,
lors de la -bare
argument est passé à git clone,
une copie du dépôt distant sera faite avec une omis répertoire de travail., Cela signifie qu’un référentiel sera configuré avec l’historique du projet qui peut être poussé et extrait, mais ne peut pas être modifié directement. De plus, aucune branche distante du dépôt ne sera configurée avec le référentiel -bare
. Comme git init --bare,
ceci est utilisé pour créer un référentiel hébergé que les développeurs ne modifieront pas directement.
git clone –mirror
en Passant la balise --mirror
argument implicitement passe la balise --bare
argument., Cela signifie que le comportement de --bare
est héritée par --mirror
. Résultant en un dépôt Nu Sans fichiers de travail modifiables. De plus, --mirror
clonera toutes les références étendues du référentiel distant et maintiendra la configuration de suivi de branche distante. Vous pouvez ensuite exécutergit remote
update sur le miroir et il écrasera toutes les références du dépôt d’origine. Vous donnant une fonctionnalité « miroir » exacte.,
autres options de configuration
pour une liste complète des autres options de clone git, visitez la documentation officielle de Git. Dans ce document, nous aborderons d’autres options courantes.
git clone –template
git clone --template=<template_directory> <repo location>
Clones le repo <repo location>
et applique le modèle de la balise <template directory>
à la nouvelle succursale. Une réfrence complète sur les modèles Git peut être trouvée sur notre page git init
.,
Git URLs
Git a sa propre syntaxe D’URL qui est utilisée pour passer des emplacements de dépôt distants aux commandes Git. Étant donné que git clone
est le plus couramment utilisé sur les référentiels distants, nous examinerons la syntaxe de L’URL git ici.
git URL protocols
-SSH
Secure Shell (SSH) est un protocole réseau authentifié omniprésent qui est généralement configuré par défaut sur la plupart des serveurs. Étant donné que SSH est un protocole authentifié, vous devrez établir des informations d’identification avec le serveur d’hébergement avant de vous connecter., ssh://host.xz/path/to/repo.git/
GIT
HTTP
Hyper text transfer protocol). Le protocole du web, le plus couramment utilisé pour transférer des données HTML de page web sur Internet. Git peut être configuré pour communiquer via HTTP
résumé
dans ce document, nous avons examiné en profondeurgit clone
. Les points à retenir les plus importants sont:git clone
est utilisé pour créer une copie d’un repo cible
2. Le dépôt cible peut être local ou distant
3. Git prend en charge quelques protocoles réseau pour se connecter à des dépôts distants
4., Il existe de nombreuses options de configuration différentes disponibles qui modifient le contenu du clone