Git checkout avec dot
Quelle est la différence entre la prochaine git
commandes:
git checkout branch
git checkout branch .
git checkout . #<-- used at the branch
Pourquoi quand je caisse des différentes branches dans différents dossiers avec le premier que j'ai manqué certains fichiers.
Mais quand je suis en utilisant la deuxième commande, tout est ok?
- Ce n'est pas utilisée "à la direction générale". Le premier argument est uniquement considérée comme une branche si elle a effectivement des noms, qui
.
ne l'est pas. Donc, c'est simplement le chemin. Il ne serait branche si vous le ditgit checkout . --
, sur lequel git se plaignent qu'il n'y a pas de révision nommé.
. - Avec la première forme, vous découvrez la branche dans la copie de travail actuelle. Alors, que voulez-vous dire par "dans différents dossiers"?
- Je veux dire que j'ai par exemple 2 branches. Et le premier sera checkoutted avec succès, mais la deuxième miss certains fichiers. Mais si j'utilise la deuxième ligne, tout sera ok
Vous devez vous connecter pour publier un commentaire.
git checkout
(1) fait des choses très différentes, qu'il soit donné spécificateur de chemin ou pas.git checkout branch
), il va changer votre répertoire de travail courant de branche, en gardant les changements locaux, si possible, et à défaut, sinon. Si vous êtes déjà surbranch
, il ne va rien faire du tout. Il modifie uniquement les fichiers dans le répertoire de travail qui diffèrent entreHEAD
etbranch
et échoue si l'une d'entre elles a des modifications locales (indexé ou non)..
) avec le contenu spécifié:git checkout .
), il écrit le contenu de l'index. Qu'il est défait unstaged modification locale. Pour annuler la mise en scène des modifications, utilisezgit reset
avec le spécificateur de chemin.git checkout branch .
), il écrit le contenu dans certaines de révision. Il pas modifier oùHEAD
points, donc sibranch
est différente deHEAD
, il y aura unstaged changements par la suite.Noter, que la page de man distingue cas supplémentaires pour l'utilisation de l'-b/--option branche et -p/--patch option, mais ceux-ci sont la plupart du temps simple extensions des cas ci-dessus.
L'explication ci-dessus est bien, mais laissez-moi vous expliquer avec des exemples.
git checkout
peut être utilisé avec les fichiers, les dossiers et les branches.Laisser dire qu'il n'y est
index.html
fichier etdev
dossier.Si j'ai accidentellement changement
index.html
et je veux annuler que je vais tout simplement exécutergit checkout index.html
. Elle permettra d'obtenir mon fichier de revenir à sa forme originale.Maintenant, disons que j'ai apporté quelques modifications à l'intérieur de dev dossier et et voulez ces changements à l'intérieur de dev dossier. Si je vais utiliser
git checkout dev
et s'il y adev
branche, alors il sera de caisse, branche dev plutôt que dossier nommédev
.Donc plutôt j'irait
git checkout -- dev
Maintenant ce nu double dash est synonyme de branche courante. Si la commande ci-dessus est de poser des questions à partir de git est que s'il vous plaît donnez-moi " dev " dossier de branche courante.
Permet de parler de votre cas d'utilisation.
git checkout branch
cette commande va tout simplement de la caisse de la branche nommée "succursale"git checkout branch .
La deuxième commande indique à git que veuillez caisse.
ou le nom du dossier actuel de la branche nommée "succursale"git checkout . #<-- used at the branch
comme vous dites d'abord vous avez changé de branche nommée "succursale" à l'aide degit checkout branch
alors vous êtes simplement en faisantgit checkout .
Maintenant il n'y a pas de branche nommée.
donc, il va tout simplement de tirer vers le bas nom du dossier actuel de branche courante.