Qu'est-ce que la clone
faire ? 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 répertoire créé a-t-il une importance ?
Qu'est-ce que la clone
faire ? 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 répertoire créé a-t-il une importance ?
Vous voulez dire que, par exemple, dans mon exemple, le dossier test sera vide et que je devrai faire "$git fetch test" à partir du dossier test ?
Ils 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
# cd ..
Il y a maintenant des différences mineures, mais fondamentalement, vous ne les remarquerez probablement pas. A titre d'exercice laissé au lecteur, comparez les fichiers .git/config de chaque répertoire.
J'ai essayé. En utilisant clone
Le fichier .git/config contient une partie [branch "master"]. Cela signifie-t-il que lorsque l'on utilise clone
(Dans le futur) je peux fusionner cette branche et avec remote add
Je ne peux pas ?
Eh bien, tout d'abord, ils sont toujours les mêmes. Vous pouvez en fait fusionner à partir de l'amont de l'une ou l'autre manière. L'ajout de la mention "branch" signifie qu'il n'est pas nécessaire de spécifier la branche amont. Par exemple, dans un clone avec la "branche" ci-dessus, vous pouvez faire un "git pull" alors que dans l'autre clone, vous devrez probablement faire un "git pull origin master". Maintenant, vous pouvez également utiliser "git remote add" avec le drapeau -t pour ajouter cette déclaration de branche. Essayez un "git remote add" avec et sans "-t master" :-)
@nacho4d : Vous pouvez obtenir cette même section [branch "master"] dans .git/config, avec cette commande : git branch --set-upstream master origin/master
. C'est la troisième commande que j'utilise après la commande git remote add
y git pull
que vous avez listé, et ces 3 commandes semblent me donner une configuration identique à ce que j'ai fait. git clone
aurait fait.
git clone
:
Téléchargera physiquement les fichiers sur votre ordinateur. Il prendra de l'espace sur votre ordinateur. Si le repo fait 200Mb, il téléchargera tout cela et le placera dans le répertoire que vous avez cloné.
git remote add
:
Ne prend pas de place ! C'est plutôt un pointeur ! Il n'augmente pas votre consommation de disque. Il obtient juste un instantané des branches disponibles et de leur historique de commit git je crois. Il ne contient pas les fichiers/dossiers de votre projet.
Si c'est le cas :
git remote add TechLeadRepo git://github.com/user/test.git
alors vous n'avez rien ajouté à votre ordinateur. Une fois que vous l'avez ajouté dans vos branches distantes, vous pouvez obtenir une liste de toutes les branches sur cette branche distante en faisant :
git fetch --all
lors de la récupération (ou de l'extraction), vous téléchargez les fichiers Et ensuite, si vous voulez récupérer la branche feature22 de votre collègue dans votre branche locale, vous n'avez qu'à faire
git checkout -b myLocalFeature22 TechLeadRepo/feature22
Si vous aviez cloné son dépôt, vous devriez alors aller dans le répertoire de ce dépôt local et simplement checkout
à la branche souhaitée
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
Duplication possible de Quelle est la différence entre clone et mkdir->cd->init->remote-add->pull ?
0 votes
Le doublon que j'ai choisi est en quelque sorte un surensemble de votre question : il s'agit de savoir "quelle est la différence entre
git remote add; ...other commands...
ygit clone
.