Quelle est la difference entre git cloneet git checkout?
Quelle est la difference entre git cloneet git checkout?
Réponses:
La page de manuel pour le paiement: http://git-scm.com/docs/git-checkout
La page de manuel pour clone: http://git-scm.com/docs/git-clone
Pour résumer, le clone sert à récupérer des référentiels que vous n'avez pas, le checkout sert à basculer entre les branches d'un référentiel que vous avez déjà.
Remarque: pour ceux qui ont un arrière-plan SVN / CVS et qui sont nouveaux dans Git, l'équivalent de git cloneSVN / CVS est checkout. La même formulation de termes différents prête souvent à confusion.
checkoutpeut également être utilisé pour d'autres choses, comme remplacer un fichier dans votre copie de travail par une version de ce fichier d'une autre révision.
git clone consiste à récupérer vos référentiels depuis le serveur git distant.
git checkout consiste à extraire l'état souhaité de votre référentiel (comme des branches ou des fichiers particuliers).
Par exemple, vous êtes actuellement sur la branche master et vous souhaitez passer en branche develop.
git checkout develop_branch
Par exemple, vous souhaitez passer à un statut particulier d'un fichier particulier
git checkout commit_point_A -- <filename>
Voici une bonne référence pour apprendre Git, vous permet de comprendre beaucoup plus facilement.
git clonefonctionnera également avec les dépôts locaux.
Une chose à noter est le manque de "Copyout" dans git. C'est parce que vous avez déjà une copie complète dans votre référentiel local - votre référentiel local étant un clonede votre référentiel en amont choisi. Ainsi, vous avez effectivement un personnel checkoutde tout , sans mettre de «verrou» sur ces fichiers dans le référentiel de référence.
Git fournit les valeurs de hachage SHA1 comme mécanisme pour vérifier que la copie que vous avez d'un fichier / arborescence de répertoires / commit / repo est exactement la même que celle utilisée par quiconque est capable de déclarer des choses comme "Master" dans la hiérarchie de confiance. Cela évite tous ces «verrous» qui provoquent l'étouffement de la plupart des systèmes SCM (avec les problèmes habituels de copie privée, de grosses fusions, et aucun contrôle ou gestion réel du code source ;-)!
Git checkout a 2 utilisations
git checkout <existing_local_branch_name>git checkout -b <new_feature_branch_name>, vous créerez une nouvelle branche avec le contenu du maître et passerez à la branche nouvellement crééeVous pouvez trouver plus d'options sur le site officiel
-boption est géniale qui crée une nouvelle branche locale et la vérifie également en même temps dans une seule commande. J'ai adoré!
checkout peut être utilisé pour de nombreux cas:
1er cas : basculer entre les branches dans le référentiel local Par exemple:
git checkout exists_branch_to_switch
Vous pouvez également créer une nouvelle branche et passer dans ce cas avec -b
git checkout -b new_branch_to_switch
2ème cas : restaurer le fichier à partir de x rev
git checkout rev file_to_restore
...