Git clones clones toutes les branches
Git Clone Branch – Comment cloner une branche spécifique
Résumé:
Dans cet article, je vais discuter de comment cloner une branche spécifique dans Git. Je vais fournir des instructions étape par étape et des explications sur la façon d’accomplir cette tâche. De plus, je répondrai à quelques questions courantes et fournirai des réponses détaillées en fonction de mon expérience personnelle.
Points clés:
1. Téléchargez et installez le dernier GIT pour Mac Installateur: Avant de pouvoir cloner une branche spécifique, vous devez faire installer Git sur votre Mac. Visitez le site officiel de Git et téléchargez le dernier installateur de Mac.
2. Utilisez la commande Git Clone: Pour clone une branche spécifique, vous pouvez utiliser la commande Git Clone suivie de l’URL du référentiel et du nom de la branche.
3. Vérifiez votre version git: Il est important de vous assurer que vous avez installé une version compatible de GIT. Vous pouvez vérifier votre version git en exécutant une commande simple dans le terminal.
Question 1: Git clone clone toutes les branches?
Réponse: Non, la commande Git Clone ne clonage pas toutes les branches par défaut. Il ne clones que la branche actuellement vérifiée ou la branche spécifiée dans la commande.
Question 2: Comment puis-je cloner une branche spécifique à l’aide de Git Clone?
Réponse: Pour clone une branche spécifique à l’aide de Git Clone, vous pouvez ajouter le nom de la branche à la fin de la commande comme ceci: Git Clone
Question 3: Puis-je cloner plusieurs branches à la fois en utilisant Git Clone?
Réponse: Non, Git Clone vous permet seulement de cloner une branche à la fois. Si vous souhaitez cloner plusieurs branches, vous devrez exécuter la commande Git Clone séparément pour chaque branche.
Question 4: Comment passer à une succursale différente après le clonage d’une branche spécifique?
Réponse: Après avoir cloné une branche spécifique, vous pouvez utiliser la commande de caisse git pour passer à une branche différente. Exécutez simplement Git Checkout
Question 5: Puis-je cloner une branche éloignée qui n’existe pas localement?
Réponse: oui, vous pouvez cloner une branche distante qui n’existe pas localement. Lorsque vous clonez le référentiel, Git va récupérer toutes les branches du référentiel distant, y compris celui que vous souhaitez cloner.
Question 6: Et si la branche que je veux clone a été supprimée?
Réponse: Si la branche que vous souhaitez cloner a été supprimée, vous ne pourrez pas le cloner. Assurez-vous que la branche existe toujours dans le référentiel distant avant de tenter de le cloner.
Question 7: Puis-je spécifier un engagement spécifique au lieu d’une branche lors du clonage?
Réponse: Oui, vous pouvez spécifier un engagement spécifique au lieu d’une branche lors du clonage. Vous devez fournir le hachage de validation au lieu du nom de la branche dans la commande Git Clone.
Question 8: Y a-t-il des limites au clonage des branches spécifiques?
Réponse: Il n’y a pas de limites spécifiques au clonage des branches spécifiques. Cependant, assurez-vous d’avoir les autorisations et l’accès nécessaires à la branche que vous souhaitez cloner.
Question 9: Est-il possible de cloner une branche à partir d’un autre référentiel distant?
Réponse: Oui, il est possible de cloner une branche à partir d’un autre référentiel distant. Il vous suffit de fournir l’URL du référentiel et le nom de la branche dans la commande Git Clone.
Question 10: Comment puis-je mettre à jour une branche clonée avec les derniers modifications du référentiel distant?
Réponse: Pour mettre à jour une branche clonée avec les dernières modifications du référentiel distant, vous pouvez utiliser la commande git till. Accédez simplement au répertoire du référentiel cloné et exécutez Git Pull.
Git Clone Branch – Comment cloner une branche spécifique
Téléchargez et installez le dernier GIT pour Mac Installateur ici.
Git clones clones toutes les branches
Changements dans le git-clone manuel
- 2.38.1 → 2.40.1 Pas de changements
- 2.38.0
10/02/22
- 2.36.1 → 2.37.7 Pas de changements
- 2.36.0
18/04/22
- 2.35.1 → 2.35.8 Pas de changements
- 2.35.0
24/01/22
- 2.32.1 → 2.34.8 Pas de changements
- 2.32.0
06/06/21
- 2.30.2 → 2.31.8 Pas de changements
- 2.30.1
02/08/21
- 2.30.0
27/12/20
- 2.29.1 → 2.29.3 Pas de changements
- 2.29.0
19/10/20
- 2.28.1 Pas de changements
- 2.28.0
27/07/20
- 2.27.1 Pas de changements
- 2.27.0
06/01/20
- 2.25.1 → 2.26.3 Pas de changements
- 2.25.0
13/01/20
Vérifiez votre version de Git en fonctionnant
NOM
Git-Clone – Clone un référentiel dans un nouveau répertoire
SYNOPSIS
clone git [--template =] [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror] [-o] [-b] [-u] [--reference] [--disciate] [--separate-git-dir] [--Depth] [- [nO-] branch] [--No-tags] NO-]-Soubmodules peu profonds] [- [NO-] Remote-Submodules] [--jobs] [--SparSe] [- [NO-] rejet-shallow] [--filter = [- Also-filter-submodules]] [-] []
DESCRIPTION
CLONES Un référentiel dans un répertoire nouvellement créé, crée des branches de suivi à distance pour chaque branche du référentiel cloné (visible à l’aide de la branche GIT – Remotes), et crée et vérifie une branche initiale qui est fourchue à partir du référentiel cloné’S branche actuellement active.
Après le clone, un simple git fetch sans arguments mettra à jour toutes les branches de suivi de la télécommande, et une traction Git sans arguments va en outre fusionner la branche maître distante dans la branche maîtresse actuelle, le cas échéant (c’est faux lorsque “- single-branch” est donné; voir ci-dessous).
Cette configuration par défaut est obtenue en créant des références aux têtes de branche distantes sous les références / télécommandes / origine et en initialisant la télécommande.origine.URL et télécommande.origine.Variables de configuration.
Options
Lorsque le référentiel à clone est sur une machine locale, ce drapeau contourne le mécanisme de transport normal “Git Aware” et clones le référentiel en faisant une copie de la tête et tout sous les répertoires d’objets et de références. Les fichiers sous .git / objets / répertoire sont liés pour économiser de l’espace lorsque cela est possible.
Si le référentiel est spécifié comme un chemin local (E.g., / path / to / repo), c’est la valeur par défaut, et – local est essentiellement un non-op. Si le référentiel est spécifié comme URL, ce drapeau est ignoré (et nous n’utilisons jamais les optimisations locales). Spécification – Le-Local remplacera la valeur par défaut quand / path / to / repo est donné, en utilisant le transport GIT régulier à la place.
NOTE: Cette opération peut courir avec une modification simultanée dans le référentiel source, similaire à l’exécution de CP -R SRC DST tout en modifiant SRC .
–NO-HARDLINKS
Forcer le processus de clonage à partir d’un référentiel sur un système de fichiers local pour copier les fichiers sous le .Répertoire Git / Objects au lieu d’utiliser HardLinks. Cela peut être souhaitable si vous essayez de faire une sauvegarde de votre référentiel.
Lorsque le référentiel à clone est sur la machine locale, au lieu d’utiliser des liens rigourels, configure automatiquement .git / objets / info / alternates pour partager les objets avec le référentiel source. Le référentiel résultant commence sans aucun objet.
NOTE: Il s’agit d’une opération peut-être dangereuse; faire pas Utilisez-le à moins que vous ne compreniez ce qu’il fait. Si vous clonez votre référentiel à l’aide de cette option, puis supprimez les branches (ou utilisez toute autre commande git qui rend tout engagement existant non référencé) dans le référentiel source, certains objets peuvent ne pas être référencés (ou pendants). Ces objets peuvent être supprimés par des opérations GIT normales (comme Git Commit) qui appellent automatiquement Git Maintenance Run – Auto . (Voir Git-Maintenance [1].) Si ces objets sont supprimés et ont été référencés par le référentiel cloné, alors le référentiel cloné deviendra corrompu.
Notez que l’exécution de Git Repack sans l’option – locale dans un référentiel cloné avec –hared copiera les objets du référentiel source dans un pack dans le référentiel cloné, supprimant les économies d’espace disque de Clone – Shared . Il est sûr, cependant, d’exécuter Git GC, qui utilise l’option – Local par défaut.
Si vous souhaitez briser la dépendance d’un référentiel cloné avec – partagé sur son référentiel source, vous pouvez simplement exécuter Git Repack -a pour copier tous les objets du référentiel source dans un pack dans le référentiel cloné.
–référence [-IFABLE]
Si le référentiel de référence est sur la machine locale, configure automatiquement .git / objets / info / alternate pour obtenir des objets à partir du référentiel de référence. L’utilisation d’un référentiel déjà existant en tant qu’alternative nécessitera moins d’objets pour être copiés à partir du référentiel en cours de clonage, réduisant le réseau et les coûts de stockage locaux. Lorsque vous utilisez le – Référence-Ifable, un répertoire non existant est ignoré avec un avertissement au lieu de dégager le clone.
NOTE: Voir la note de l’option – Shared, ainsi que l’option – Dissociation.
–dissocier
Emprunter les objets à des référentiels de référence spécifiés avec les options de référence uniquement pour réduire le transfert de réseau et cesser d’emprunter une fois qu’un clone a été fabriqué en effectuant les copies locales nécessaires des objets empruntés. Cette option peut également être utilisée lors du clonage localement à partir d’un référentiel qui emprunte déjà des objets à un autre référentiel – le nouveau référentiel empruntera les objets au même référentiel, et cette option peut être utilisée pour arrêter l’emprunt.
Opérer tranquillement. Les progrès ne sont pas signalés au flux d’erreur standard.
Courir verbosément. N’affecte pas la déclaration de l’état des progrès au flux d’erreur standard.
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 drapeau oblige le statut de progression même si le flux d’erreur standard n’est pas dirigé vers un terminal.
Transmettez la chaîne donnée au serveur lors de la communication à l’aide du protocole version 2. La chaîne donnée ne doit pas contenir de caractère NUL ou LF. Le serveur’Le traitement des options de serveur, y compris des inconnues, est spécifique au serveur. Lorsque plusieurs – server-option = sont donnés, ils sont tous envoyés de l’autre côté dans l’ordre indiqué sur la ligne de commande.
Aucune caisse de tête n’est effectuée une fois le clone terminé.
Échouer si le référentiel source est un référentiel peu profond. Le cloner.rejeter La variable de configuration peut être utilisée pour spécifier la valeur par défaut.
Faire un nu Référentiel GIT. C’est-à-dire au lieu de créer et de placer les fichiers administratifs dans /.git, faites le $ git_dir . Cela implique évidemment le –no-vérification car il n’y a nulle part où vérifier l’arborescence. Les têtes de branche à la télécommande sont également copiées directement sur les têtes de branche locales correspondantes, sans les mappager aux références / télécommandes / origine / . Lorsque cette option est utilisée, ni les branches de suivi à distance ni les variables de configuration associées ne sont créées.
Utilisez une vérification clairsemée, avec seulement des fichiers dans le répertoire Toplevel initialement présent. La commande git-sasse-véritable [1] peut être utilisée pour développer le répertoire de travail au besoin.
Utilisez la fonction de clone partielle et demandez que le serveur envoie un sous-ensemble d’objets accessibles en fonction d’un filtre d’objet donné. Lors de l’utilisation de – filtre, le fourni est utilisé pour le filtre de clone partiel. Par exemple, –filter = blob: aucun ne filtrera tous les blobs (contenu du fichier) jusqu’à ce qu’il soit nécessaire par Git. Aussi, –filter = blob: limit = filtrera toutes les taches de taille au moins . Pour plus de détails sur les spécifications du filtre, consultez l’option – filtre dans git-rev-list [1].
Appliquez également le filtre de clone partiel à tous les sous-modules du référentiel. Nécessite – filtre et –recurse-submodules . Cela peut être activé par défaut en définissant le clone.FiltersubModules Config Option.
Configurer un miroir du référentiel source. Cela implique – Bare . Comparé à –bare, – – miroir ne correspond pas seulement aux branches locales de la source vers les branches locales de la cible, mais il mappe toutes les références (y compris les branches de suivi de télécommande, les notes, etc.) et configure une configuration RefSpec telle que toutes ces références sont remplacées par une mise à jour distante GIT dans le référentiel cible.
Au lieu d’utiliser l’origine du nom de la télécommande pour garder une trace du référentiel en amont, utilisez . Clone de remplacement.DefaultreMotename à partir de la configuration.
Au lieu de pointer la tête nouvellement créée vers la branche pointée par le référentiel cloné’S la tête, pointez à la branche à la place. Dans un référentiel non-barre, c’est la branche qui sera vérifiée. –La succursale peut également prendre des étiquettes et détache la tête de cette validation dans le référentiel résultant.
Lorsqu’il est donné, et le référentiel de clone est accessible via SSH, cela spécifie un chemin non défaut pour la commande exécutée à l’autre extrémité.
Spécifiez le répertoire à partir duquel les modèles seront utilisés; (Voir la section “répertoire de modèle” de Git-Init [1].)
Définir une variable de configuration dans le référentiel nouvellement créé; Cela prend effet immédiatement après l’initialisation du référentiel, mais avant que l’historique à distance ne soit récupéré ou que tout fichier soit vérifié. La clé est dans le même format que prévu par Git-Config [1] (E.g., cœur.eol = true). Si plusieurs valeurs sont données pour la même clé, chaque valeur sera écrite dans le fichier de configuration. Cela le rend sûr, par exemple, pour ajouter des refspecs de récupération supplémentaires à la télécommande d’origine.
En raison des limites de la mise en œuvre actuelle, certaines variables de configuration ne prennent effet qu’après la récupération et le paiement initiaux. Les variables de configuration connues pour ne pas prendre effet sont: distant..miroir et télécommande..tagopt . Utilisez les options de – mirror et –tags correspondantes à la place.
Créer un peu profond Clone avec une histoire tronquée au nombre spécifié de commits. Implique – Branch sond. Si vous souhaitez cloner les sous-modules peu profonds, passez également – SHALLOW-SUBMODULES .
Créez un clone peu profond avec une histoire après l’heure spécifiée.
Créez un clone peu profond avec une histoire, à l’exclusion des engins accessibles à partir d’une branche ou d’une balise distante spécifiée. Cette option peut être spécifiée plusieurs fois.
Clone uniquement l’histoire conduisant à la pointe d’une seule branche, soit spécifiée par l’option – Branch, soit la télécommande de branche principale’S la tête pointe. Les récupérations supplémentaires dans le référentiel résultant ne mettra à jour que la branche à distance pour la branche, cette option a été utilisée pour le clonage initial. Si la tête à la télécommande ne pointé en aucune branche lorsque – le clone branch n’est fabriqué, aucune branche de télécommande n’est créée.
Enfiler’t cloner toutes les balises et définir la télécommande..Tagopt = – sans-étiquettes dans la configuration, garantissant que les opérations Git Pull et Git Fetch Git ont gagné’T Suivez toutes les balises. Les récupérations de balises explicites ultérieures fonctionneront toujours (voir git-fetch [1]).
Peut être utilisé en conjonction avec – Branch-sond. C’est utile e.g. Pour maintenir des clones minimaux de la branche par défaut d’un référentiel pour l’indexation de la recherche.
–réapprovisionnement-submodules [=]
Une fois le clone créé, initialisez et cloner les sous-modules à l’intérieur en fonction de la PathSpec fournie. Si aucune PathSpec n’est fournie, tous les sous-modules sont initialisés et clonés. Cette option peut être donnée plusieurs fois pour PathSpecs composée de plusieurs entrées. Le clone résultant a un sous-module.Ensemble actif sur le PathSpec fourni, ou “.”(ce qui signifie tous les sous-modules) Si aucune PathSpec n’est fournie.
Les sous-modules sont initialisés et clonés en utilisant leurs paramètres par défaut. Cela équivaut à l’exécution de la mise à jour du sous-module GIT – Init – réécursif immédiatement après la fin du clone. Cette option est ignorée si le référentiel cloné n’a pas de worktree / Checkout (I.e. Si l’un des –no-cocher
–[no] submodules peu profonds
Tous les sous-modules qui sont clonés seront peu profonds avec une profondeur de 1.
Tous les sous-modules clonés utiliseront le statut du sous-module’S Branche de suivi à distance pour mettre à jour le sous-module, plutôt que le superproject’s enregistré sha-1. Équivalent au passage – Remote à la mise à jour du sous-module GIT .
Au lieu de placer le référentiel cloné où il est censé être, placer le référentiel cloné au répertoire spécifié, puis créer un lien symbolique git de fichier-système. Le résultat est que le référentiel GIT peut être séparé de l’arbre de travail.
Le nombre de sous-modules est venu en même temps. Par défaut du sous-module.Option FetchJobs.
Le référentiel (peut-être éloigné) à clone de. Voir la section URL GIT ci-dessous pour plus d’informations sur la spécification des référentiels.
Le nom d’un nouveau répertoire pour s’arrêter. La partie “humanish” du référentiel source est utilisée si aucun répertoire n’est explicitement donné (repo pour / path / to / repo.git et foo pour l’hôte.xz: foo /.git). Le clonage dans un répertoire existant n’est autorisé que si le répertoire est vide.
Avant de récupérer à partir de la télécommande, récupérez un paquet à partir du donné et débundez les données dans le référentiel local. Les arbitres dans le faisceau seront stockés sous les références / bundle cachés / * Espace de noms. Cette option est incompatible avec –Depth, –shallow-Since et –Shallow-Exclude .
URL git
En général, les URL contiennent des informations sur le protocole de transport, l’adresse du serveur distant et le chemin du référentiel. Selon le protocole de transport, certaines de ces informations peuvent être absentes.
GIT prend en charge les protocoles SSH, GIT, HTTP et HTTPS (en outre, FTP et FTPS peuvent être utilisés pour la récupération, mais cela est inefficace et obsolète; ne l’utilisez pas).
Le transport natif (je.e. git: // url) ne fait pas d’authentification et doit être utilisé avec prudence sur les réseaux non garantis.
Les syntaxes suivantes peuvent être utilisées avec eux:
- ssh: // [utilisateur @] hôte.xz [: port] / path / to / repo.git /
- git: // hôte.xz [: port] / path / to / repo.git /
- http [s]: // hôte.xz [: port] / path / to / repo.git /
- ftp [s]: // hôte.xz [: port] / path / to / repo.git /
Une autre syntaxe de type SCP peut également être utilisée avec le protocole SSH:
- [utilisateur @] hôte.xz: chemin / vers / repo.git /
Cette syntaxe n’est reconnue que s’il n’y a pas de barres obliques avant le premier côlon. Cela aide à différencier un chemin local qui contient un côlon. Par exemple, le chemin local Foo: Bar pourrait être spécifié comme un chemin absolu ou ./ foo: bar pour éviter d’être mal interprété comme une URL SSH.
Les protocoles SSH et GIT soutiennent en outre ~ Extension du nom d’utilisateur:
- ssh: // [utilisateur @] hôte.xz [: port] / ~ [utilisateur] / path / to / repo.git /
- git: // hôte.xz [: port] / ~ [utilisateur] / path / to / repo.git /
- [utilisateur @] hôte.xz: / ~ [utilisateur] / path / to / repo.git /
Pour les référentiels locaux, également soutenus par Git nativement, les syntaxes suivantes peuvent être utilisées:
- / chemin / vers / repo.git /
- fichier: /// path / to / repo.git /
Ces deux syntaxes sont principalement équivalentes, sauf que la première implique – une option locale.
clone git, git chercher et tirage git, mais non push git, acceptera également un fichier de bundle approprié. Voir Git-Bundle [1].
Quand Git fait’Je sais comment gérer un certain protocole de transport, il tente d’utiliser l’assistante à distance, si l’on existe. Pour demander explicitement un assistant distant, la syntaxe suivante peut être utilisée:
où peut être un chemin, un serveur et un chemin, ou une chaîne de type URL arbitraire reconnue par l’assistante à distance spécifique invoquée. Voir gitremote-helpers [7] pour plus de détails.
S’il existe un grand nombre de référentiels distants nommés similaires et que vous souhaitez utiliser un format différent pour eux (de sorte que les URL que vous utilisez seront réécrites en URL qui fonctionnent), vous pouvez créer une section de configuration du formulaire:
[url “”] à la place =
Par exemple, avec ceci:
[url "git: // git.héberger.xz / "] à la place = hôte.xz: / path / to / upueof = work:
Une URL comme “Travail: repo.git “ou aiment”.xz: / path / to / repo.Git “sera réécrit dans n’importe quel contexte qui prend une URL pour être” git: // git.héberger.xz / repo.git “.
Si vous souhaitez réécrire les URL pour Push uniquement, vous pouvez créer une section de configuration du formulaire:
[url “”] pushinsteadof =
Par exemple, avec ceci:
[URL "ssh: // Exemple.org / "] pushinsteadof = git: // exemple.org /
Une URL comme “git: // Exemple.org / chemin / vers / repo.Git “sera réécrit à” ssh: // Exemple.org / chemin / vers / repo.git “pour les poussées, mais les pulls utiliseront toujours l’URL d’origine.
EXEMPLES
- Clone en amont:
$ git clone git: // git.noyau.org / pub / SCM /. / linux.git my-linux $ cd my-linux $ make
$ git clone -l -s -n . ../ Copier $ CD ../ Copier $ Git Show-Branch
$ git clone --reference / git / linux.git \ git: // git.noyau.org / pub / SCM /. / linux.git \ my-linux $ cd my-liux
$ git clone --bare -l / home / proj /.git / pub / SCM / proj.git
CONFIGURATION
Tout en dessous de cette ligne de cette section est sélectivement inclus à partir de la documentation Git-Config [1]. Le contenu est le même que’S trouvé là:
init.impliquée
Spécifiez le répertoire à partir duquel les modèles seront copiés. (Voir la section “répertoire de modèle” de Git-Init [1].)
Permet de remplacer le nom de branche par défaut e.g. Lors de l’initialisation d’un nouveau référentiel.
Le nom de la télécommande à créer lors du clonage d’un référentiel. Par défaut, et peut être remplacé en passant l’option de ligne de commande – Origin à Git-Clone [1].
Rejeter pour cloner un référentiel s’il est peu profond, peut être remplacé en passant l’option – rejet-shallow dans la ligne de commande. Voir Git-Clone [1]
Si un filtre à clone partiel est fourni (voir – filtre dans git-rev-list [1]) et –reins-submodules est utilisé, appliquez également le filtre aux sous-modules.
Git
Partie de la suite Git [1]
Git Clone Branch – Comment cloner une branche spécifique
Bolaji Ayodeji
Contrairement aux anciens systèmes de contrôle de version centralisée tels que SVN et CVS, GIT est distribué. Chaque développeur a toute l’histoire et le contrôle de son code localement ou à distance. Ils peuvent également accéder ou manipuler plusieurs parties du code car ils jugent l’ajustement de différents endroits.
Depuis que Linus Torvalds (le célèbre créateur du noyau du système d’exploitation Linux) a créé Git en 2005 pour le développement du noyau Linux, il est devenu le système de contrôle de version moderne le plus utilisé au monde.
Dans cet article, je vous présenterai les workflows Git Clone et Git Branch et je vais vous montrer comment vous pouvez clone une branche spécifique en fonction de vos besoins. Commençons! ?
Conditions préalables
- Connaissance de base du terminal
- Capacité à taper des commandes dans le terminal
- Git installé (je vais toujours vous montrer comment)
- Un compte github
- Un sourire sur ton visage (mettez ce sourire ami ?)
Introduction rapide à Git et Github
Git est un système de contrôle de version distribué conçu pour suivre les modifications d’un projet (code) dans le développement de logiciels. Il est destiné à appliquer la coordination, la collaboration, la vitesse et l’efficacité entre les développeurs.
Github, D’un autre côté, est un service d’hébergement en ligne pour le contrôle de version à l’aide de Git. Il propose toutes les fonctionnalités de gestion de la version et de code source distribuée de GIT ainsi que l’ajout de fonctionnalités pour le code informatique.
Comment installer Git sur Windows
Téléchargez et installez le dernier GIT pour Windows Installer ici.
Comment installer Git sur Linux
Voici les commandes basées sur votre distribution Linux:
Debian ou Ubuntu
sudo apt-get updat sudo apt-get install git
Feutre
sudo dnf installer git
Centos
sudo yum install git
Arch Linux
Sudo Pacman -Sy Git
Gentoo
Sudo Emerge --ask --verbose Dev-VCS / GIT
Comment installer git sur un mac
Téléchargez et installez le dernier GIT pour Mac Installateur ici.
Ou vous pouvez taper cette commande:
Brew install git
Maintenant que nous avons installé Git, passons au tutoriel.
Introduction à Git Clone
Git vous permet de gérer et de verser votre (s) projet (s) dans un “référentiel”. Ce référentiel est stocké sur un service d’hébergement basé sur le Web pour le contrôle de version, comme GitHub.
Vous pouvez ensuite cloner ce référentiel à votre machine locale et avoir tous les fichiers et branches localement (je vais vous expliquer plus sur les branches bientôt).
Par exemple, vous pouvez cloner le référentiel de FreeCodeCamp avec SSH comme tel:
git clone git @ github.com: freecodecamp / freecodecamp.git
Introduction aux branches Git
Lorsque vous travaillez sur un projet, vous aurez probablement des fonctionnalités différentes. Et plusieurs contributeurs travailleront sur ce projet et ses fonctionnalités.
Les branches vous permettent de créer un “terrain de jeu” avec les mêmes fichiers dans la branche maîtresse. Vous pouvez utiliser cette branche pour créer des fonctionnalités indépendantes, tester de nouvelles fonctionnalités, apporter des modifications à la rupture, créer des correctifs, écrire des documents ou essayer des idées sans casser ou affecter le code de production. Lorsque vous avez terminé, vous fusionnez la branche dans la succursale de la production.
La branche est un concept de base en Git qui est également utilisé dans GitHub pour gérer les workflows de différentes versions d’un projet. La branche maître est toujours la branche par défaut d’un référentiel qui est le plus souvent considéré comme “la production et le code déployable”. De nouvelles succursales comme l’automne-autholaire ou le refactor-Signup-UX peuvent être créées à partir de la branche maîtresse.
Comment cloner les branches git
Bien que vous puissiez cloner les référentiels avec la commande Git Clone, gardez à l’esprit que cela clones la branche et la tête éloignée . Ceci est généralement maître par défaut et comprend toutes les autres branches du référentiel.
Donc, lorsque vous clonez un référentiel, vous clonez le maître et toutes les autres branches. Cela signifie que vous devrez vérifier une autre branche vous-même.
Disons que votre tâche sur un projet est de travailler sur une fonctionnalité pour ajouter une authentification sans mot de passe à un tableau de bord utilisateur. Et cette fonctionnalité est dans la succursale sans mot de passe-Auth.
Vous n’avez vraiment pas besoin de la branche maître car votre “branche de fonctionnalité” sera fusionnée dans Master après. Comment alors clonez cette branche sans mot de passe sans aller chercher toutes les autres branches avec “un tas de fichiers dont vous n’avez pas besoin”?
J’ai créé cet exemple de référentiel pour expliquer cela. Ce référentiel contient un blog simple construit avec NextJS et dispose de quatre branches factices:
- maître
- dev
- mise en scène
- AUTH sans mot de passe
Dans NextJS, tout fichier à l’intérieur des pages du dossier / API est mappé sur le chemin / API / * et sera traité comme un point de terminaison de l’API au lieu d’une page . Dans notre référentiel, j’ai créé différentes API factumiques dans ce répertoire pour rendre chaque branche différente.
La branche maître tient le fichier pages / API / Bonjour.js tandis que MutSwayless-Auth détient le fichier Pages / API / AUTH.js. Chaque fichier renvoie simplement une réponse de texte factice. Voir la réponse Hello API de Master ici (avec un message spécial pour vous ?).
Clone le référentiel:
git clone git @ github.com: Bolajayodeji / nextjs-blog.git
Cela nous donne accès à toutes les branches de ce référentiel et vous pouvez facilement basculer entre chacun pour voir chaque version et ses fichiers.
Branche git -a
Je me demande où le télécommandes / origine /.. Les branches venaient de?
Lorsque vous clonez un référentiel, vous retirez les données d’un référentiel sur Internet ou un serveur interne appelé télécommande. Le mot Origin est un alias créé par votre GIT pour remplacer l’URL distante (vous pouvez modifier ou spécifier un autre alias si vous le souhaitez).
Ces télécommandes / origine /.. Les succursales vous pointent vers le référentiel d’origine que vous avez cloné depuis Internet afin que vous puissiez toujours effectuer Pull / Push de l’origine.
Ainsi, lorsque vous clonez le maître sur votre machine, les télécommandes / l’origine / le maître est la branche maître originale sur Internet, et Master est sur votre machine locale. Vous tirerez donc / pousserez les télécommandes / origine / maître .
En résumé Télécommande L’URL qui vous pointe vers le référentiel sur Internet est-il Origine est un alias pour cette URL distante.
Comment cloner une branche spécifique
Maintenant clonons une branche spécifique de notre référentiel de démonstration. Il y a deux façons de cloner une branche spécifique. Tu peux soit:
- Clone le référentiel, récupérer toutes les branches et vérifier immédiatement à une branche spécifique.
- Cloner le référentiel et récupérer une seule branche.
Option un
Git Clone – Branch
Option deux
Git Clone - Branch - Branch-Singel
Si vous exécutez des pages CD / API, vous trouverez l’authentique.Fichier JS dans la branche sans mot de passe-AuTH comme prévu de la configuration précédente.
Conclusion
Vous pourriez manquer d’Internet ou d’espace de stockage, mais vous devez travailler sur une tâche dans une branche spécifique. Ou vous voudrez peut-être cloner une branche spécifique avec des fichiers limités pour diverses raisons. Heureusement, Git vous offre la flexibilité de ce faire. Flémez vos muscles et essayez-le, il y a beaucoup plus de “git” à apprendre.
Un à la fois, ouais? ✌?
Git clones clones toutes les branches
La commande git clone est utilisée pour créer une copie d’un référentiel ou d’une branche spécifique dans un référentiel.
Git est un système de contrôle de version distribué. Maximisez les avantages d’un référentiel complet sur votre propre machine en clonage.
Que fait Git Clone?
git clone https: // github.com / github / kit de formation.git
Lorsque vous clonez un référentiel, vous n’obtenez pas un fichier, comme vous le pouvez dans d’autres systèmes de contrôle de version centralisée. En clonage avec Git, vous obtenez l’intégralité du référentiel – tous les fichiers, toutes les branches et tous les engins.
Le clonage d’un référentiel n’est généralement effectué qu’une seule fois, au début de votre interaction avec un projet. Une fois qu’un référentiel existe déjà sur une télécommande, comme sur GitHub, alors vous clonez ce référentiel pour que vous puissiez interagir avec elle. Une fois que vous avez cloné un référentiel, vous n’aurez plus besoin de le cloner pour faire un développement régulier.
La capacité de travailler avec l’ensemble du référentiel signifie que tous les développeurs peuvent travailler plus librement. Sans être limité par quels fichiers sur lesquels vous pouvez travailler, vous pouvez travailler sur une branche de fonctionnalité pour apporter des modifications en toute sécurité. Ensuite vous pouvez:
- Utilisez plus tard Git Push pour partager votre branche avec le référentiel distant
- Ouvrez une demande de traction pour comparer les modifications avec vos collaborateurs
- tester et déployer au besoin de la succursale
- fusionner dans la branche principale.
Comment utiliser Git Clone
Usages et options communs pour Git Clone
- git clone [url]: clone (télécharger) un référentiel qui existe déjà sur github, y compris tous les fichiers, branches et engagements.
- GIT CLONE – MIRROR: CLONE un référentiel mais sans la possibilité de modifier l’un des fichiers. Cela comprend les arbitres ou les branches. Vous voudrez peut-être l’utiliser si vous essayez de créer une copie secondaire d’un référentiel sur une télécommande séparée et que vous souhaitez correspondre à toutes les branches. Cela peut se produire lors de la configuration à l’aide d’une nouvelle télécommande pour votre hébergement GIT, ou lorsque vous utilisez GIT pendant les tests automatisés.
- Git Clone – Branch-Branch: clone seulement une seule branche
- GIT CLONE – SPASSE: Au lieu de remplir le répertoire de travail avec tous les fichiers dans le commit actuel récursivement, remplissez uniquement les fichiers présents dans le répertoire racine. Cela pourrait aider à la performance lors du clonage de grands référentiels avec de nombreux répertoires et sous-répertoires.
- `Git Clone –Recurse-Submodules [=
Vous pouvez voir toutes les nombreuses options avec Git Clone dans la documentation de Git-SCM.
Exemples de clone git
L’utilisation la plus courante du clonage est de simplement cloner un référentiel. Cela ne se fait qu’une seule fois, lorsque vous commencez à travailler sur un projet et que vous suivriez la syntaxe de Git Clone [URL] .
git clone une branche
Git Clone – Single-Branch: Par défaut, Git Clone créera des branches de suivi à distance pour toutes les branches actuellement présentes dans la télécommande qui est clonée. La seule branche locale créée est la branche par défaut.
Mais, peut-être pour une raison quelconque, vous aimeriez seul Obtenez une branche de suivi à distance pour une branche spécifique, ou cloner une branche qui non La branche par défaut. Ces deux choses se produisent lorsque vous utilisez – Branch-Branch avec Git Clone .
Cela créera un clone qui n’a que les engins inclus dans la ligne actuelle de l’histoire. Cela signifie qu’aucune autre branche ne sera clonée. Vous pouvez spécifier une certaine branche à clone, mais la branche par défaut, généralement principale, sera sélectionnée par défaut.
Pour cloner une branche spécifique, utilisez:
GIT CLONE [URL] – BRANCH [BRANCH] – Branch-Singe
Clonage Une seule branche n’ajoute aucun avantage à moins que le référentiel soit très important et contient des fichiers binaires qui ralentissent les performances du référentiel. La solution recommandée consiste à optimiser les performances du référentiel avant de s’appuyer sur des stratégies de clonage à une seule branche.
Git Clone avec SSH
Selon la façon dont vous vous authentifiez avec le serveur distant, vous pouvez choisir de clone à l’aide de SSH.
Si vous choisissez de clone avec SSH, vous utiliseriez un chemin SSH spécifique pour le référentiel au lieu d’une URL. En règle générale, les développeurs sont authentifiés avec SSH du niveau de la machine. Cela signifie que vous seriez probablement cloné avec HTTPS ou avec SSH – pas un mélange des deux pour vos référentiels.
- Branche Git: Cela montre les branches existantes de votre référentiel local. Vous pouvez également utiliser Git Branch [Banch-Name] pour créer une branche à partir de votre emplacement actuel, ou Git Branch – tout pour voir toutes les branches, à la fois les branches locales de votre machine et les branches de suivi à distance stockées à partir du dernier git Tull ou Git Fetch à partir de la télécommande.
- Git Pull: met à jour votre branche de travail locale actuelle avec tous les nouveaux engins de la branche distante correspondante sur github. Git Pull est une combinaison de Git Fetch et Git Merge .
- Git Push: télécharge toutes.
- Git Remote -V: Afficher les référentiels à distance associés et leur nom stocké, comme Origin .
Commencez avec Git et Github
Examiner le code, gérer des projets et créer des logiciels aux côtés de 40 millions de développeurs.
Git: cloner une branche spécifique
Par défaut, le clonage d’un référentiel GIT crée une copie de l’ensemble du référentiel distant sur la machine locale. Cependant, dans certains cas, un référentiel GIT peut être massif, et vous n’avez peut-être pas besoin de toutes les branches de votre travail.
Parfois, vous pouvez ne vouloir cloner qu’une branche spécifique, vous permettant de travailler sur cette branche sans affecter d’autres fichiers. Il est utile de cloner uniquement une branche spécifique lorsque vous travaillez sur une fonctionnalité ou lors de la correction d’un bogue qui n’existe que dans cette branche.
Dans ce tutoriel, vous apprendrez à cloner une branche Git spécifique.
- Git installé (voir comment installer Git sur Ubuntu, MacOS, Windows, Centos 7 ou Centos 8).
- Un référentiel Git.
Branche git spécifique à la clone
La commande utilisée pour cloner une branche git est clone git . Cependant, le clone git Commande clones toutes les branches et la télécommande DIRIGER (généralement le maître / / principal bifurquer).
Il y a deux façons de cloner une seule branche git avec clone git :
- Méthode 1. Clone tout le référentiel, récupérer toutes les branches et consulter la branche spécifiée après le processus de clonage.
- Méthode 2. Cloner seulement une branche spécifique et aucune autre branche.
Les sections ci-dessous expliquent les deux méthodes afin que vous puissiez les utiliser à votre préférence.
Méthode 1 – Récupérez toutes les branches et vérifiez une
Utilisez cette méthode pour récupérer toutes les branches à partir d’un référentiel, puis consultez un seul. La branche spécifiée devient la branche locale configurée pour Git Push et Git Pull. Cependant, notez que la commande récupère toujours tous les fichiers de toutes les branches du référentiel.
Utilisez la syntaxe suivante pour récupérer toutes les branches du référentiel distant et consultez le spécifié:
git clone --branch [branche_name] [Remote-url]
Note: Remplacer les variables [Nom de la filiale] et [Remote-URL] avec le nom de branche correct et l’URL distante.
Dans l’exemple ci-dessus, nous récupérons toutes les branches du référentiel spécifié et vérifions le nouvelle fonctionnalité bifurquer. Après avoir changé le répertoire en celui contenant le référentiel, la branche par défaut est nouvelle fonctionnalité , pas maître .
Méthode 2 – Retrait les fichiers à partir d’une seule branche uniquement
La deuxième méthode vous permet de récupérer uniquement les fichiers de la branche spécifiée, et rien d’autre. Cela fait économiser beaucoup d’espace sur le disque dur et réduit la taille de téléchargement. Étant donné que certains référentiels peuvent être très importants, cette méthode réduit l’utilisation de la bande passante si vous avez besoin de travailler sur une branche spécifique uniquement.
Note: Afin de récupérer uniquement une seule branche, GIT Version 1.7.10 ou version ultérieure est requise.
Git Clone --branch [branche_name] --single-branch [Remote-Url]
La commande récupère la branche spécifiée et copie uniquement les fichiers contenus sur cette branche, sans récupérer d’autres branches ou fichiers. En cours branche git montre quelles branches ont été copiées.
Ce tutoriel a montré comment récupérer une seule branche à partir d’un référentiel GIT. L’option est utile lorsque vous ne souhaitez pas télécharger l’intégralité du référentiel, ou lorsque vous souhaitez travailler uniquement sur une seule fonctionnalité.
Pour plus de tutoriels GIT, consultez notre guide Git Débutant, consultez notre tutoriel Git Tags ou le guide du sous-module Git.
Cet article a-t-il été utile?
Bosko Marijan
Ayant travaillé comme éducateur et rédacteur de contenu, combiné avec sa passion de toute une vie pour tout ce qui est de haute technologie, Bosko s’efforce de simplifier les concepts complexes et de les rendre conviviaux. Cela l’a conduit à une écriture technique à Phoenixnap, où il poursuit sa mission de diffusion des connaissances.
Ensuite, tu devrais lire
22 mars 2023
Ce tutoriel montre deux méthodes pour fusionner la branche principale dans une autre branche de Git. Voir des exemples et des cas d’utilisation.
28 septembre 2022
La commande git sous-module init ajoute des entrées de sous-module au fichier de configuration GIT local. Ce tutoriel vous montre comment utiliser le sous-module git init avec des exemples d’utilisation courants.
16 mars 2023
Les branches de Git sont des lignes de développement indépendantes dans un référentiel. Ce tutoriel montre comment tirer toutes les branches d’un référentiel distant dans un référentiel local en git.
21 février 2023
Cet article compare et donne des conseils sur le choix entre SSH et HTTPS – deux protocoles de réseau utilisés pour sécuriser la connexion aux référentiels distants.