Que fait la commande clone
? Y a-t-il un équivalent dans svn?
Quelle est la différence entre
git remote add test git://github.com/user/test.git
Et
git clone git://github.com/user/test.git
Le nom du dépôt créé est-il important?
git remote add
crée simplement une entrée dans votre configuration git qui spécifie un nom pour une URL particulière. Vous devez avoir un dépôt git existant pour l'utiliser.
git clone
crée un nouveau référentiel git en copiant un référentiel existant situé à l'URI que vous spécifiez.
Ce sont fonctionnellement similaires (essayez-le!):
# git clone REMOTEURL foo
et:
# mkdir foo # cd foo # git init # git remote add Origin REMOTEURL # git pull Origin master
Maintenant, il y a des différences mineures, mais fondamentalement, vous ne les remarquerez probablement pas. Comme exercice laissé au lecteur, comparez les .git/config de chaque répertoire.
La commande clone
crée une copie locale du référentiel que vous avez spécifié. remote add
ajoute un référentiel distant à partir duquel vous pouvez pousser ou tirer.
L'équivalent svn de clone
est checkout
.
git clone
:
Télécharge physiquement les fichiers sur votre ordinateur. Cela prendra de la place sur votre ordinateur. Si le dépôt est de 200 Mo, il téléchargera tout cela et le placera dans le répertoire que vous avez cloné.
git remote add
:
Ne prendra pas de place! Cela ressemble plus à un pointeur! Cela n'augmente pas la consommation de votre disque. Cela donne juste un aperçu des branches disponibles et de leur historique de validation git, je crois. Il ne contient pas les fichiers/dossiers réels de votre projet.
Si tu fais:
git remote add TechLeadRepo git://github.com/user/test.git
alors vous n'avez rien ajouté à votre ordinateur. Après l'avoir ajouté dans vos branches distantes, vous pouvez obtenir une liste de toutes les branches de cette télécommande en faisant:
git fetch --all
Et puis, si vous vouliez faire entrer la branche feature22 de votre collègue dans votre section locale,
git checkout -b myLocalFeature22 TechLeadRepo/feature22
Je crois qu'après avoir effectué un paiement, cela entraînerait les dernières modifications et prendrait de la place sur votre ordinateur. Évidemment, cela ne prendra de la place que pour tous les nouveaux commits que vous n'avez pas.
Si vous aviez cloné son référentiel, vous devriez aller dans le répertoire de ce référentiel local et vérifier dans la branche souhaitée