git checkout 'another_branch'
O
git checkout Origin 'another_branch'
O
git checkout Origin/'another_branch'
Si another_branch
existe déjà localement et que vous ne vous trouvez pas sur cette branche, alors git checkout another_branch
passe à la branche.
Si another_branch
n'existe pas mais Origin/another_branch
, alors git checkout another_branch
est équivalent à git checkout -b another_branch Origin/another_branch; git branch -u Origin/another_branch
. C'est pour créer another_branch
à partir de Origin/another_branch
et définir Origin/another_branch
en amont de another_branch
.
Si aucun n'existe, git checkout another_branch
renvoie une erreur.
git checkout Origin another_branch
renvoie une erreur dans la plupart des cas. Si Origin
est une révision et another_branch
est un fichier, il extrait le fichier de cette révision, mais ce n'est probablement pas ce à quoi vous vous attendiez. Origin
est principalement utilisé dans git fetch
, git pull
et git Push
en tant que distant, alias de l'URL du référentiel distant.
git checkout Origin/another_branch
réussit si Origin/another_branch
existe. Cela conduit à être dans l'état détaché HEAD et non sur une branche. Si vous effectuez de nouveaux commits, les nouveaux commits ne sont pas accessibles depuis les branches existantes et aucune des branches ne sera mise à jour.
UPDATE:
Avec la version 2.23.0, nous pouvons également utiliser git switch
pour créer et changer de branche.
Si foo
existe, essayez de passer à foo
:
git switch foo
Si foo
n'existe pas et que Origin/foo
existe, essayez de créer foo
à partir de Origin/foo
, puis passez à foo
:
git switch -c foo Origin/foo
# or simply
git switch foo
Plus généralement, si foo
n'existe pas, essayez de créer foo
à partir d'une référence connue ou d'un commit, puis passez à foo
:
git switch -c foo <ref>
git switch -c foo <commit>
Si nous gérons un référentiel dans Gitlab et Github en même temps, le référentiel local peut avoir deux télécommandes, par exemple, Origin
pour Gitlab et github
pour Github. Dans ce cas, le référentiel a Origin/foo
et github/foo
. git switch foo
se plaindra fatal: invalid reference: foo
, car il ne sait pas à partir de quelle référence, Origin/foo
ou github/foo
, créer foo
. Nous devons le spécifier avec git switch -c foo Origin/foo
ou git switch -c foo github/foo
en fonction des besoins. Si nous voulons créer des branches à partir des deux branches distantes, il est préférable d'utiliser des noms distinctifs pour les nouvelles branches:
git switch -c gitlab_foo Origin/foo
git switch -c github_foo github/foo
Si foo
existe, essayez de recréer/de créer de force foo
à partir de (ou réinitialisez foo
en) une référence connue ou une validation, puis passez à foo
:
git switch -C foo <ref>
git switch -C foo <commit>
qui équivalent à:
git switch foo
git reset [<ref>|<commit>] --hard
Essayez de passer à un HEAD détaché d'une référence ou d'un commit connu:
git switch -d <ref>
git switch -d <commit>
Si vous souhaitez simplement créer une branche sans y basculer, utilisez plutôt git branch
. Essayez de créer une branche à partir d'une référence ou d'un commit connu:
git branch foo <ref>
git branch foo <commit>
Passer à une autre branche dans git. Réponse simple,
git-checkout - Change de branche ou restaure les fichiers de l'arbre de travail
git fetch Origin <----this will fetch the branch
git checkout branch_name <--- Switching the branch
Avant de changer de branche, assurez-vous de ne pas avoir de fichiers modifiés. Dans ce cas, vous pouvez valider les modifications ou les stocker.
[git checkout "branch_name"
]
est une autre façon de dire:
[git checkout -b branch_name Origin/branch_name
]
dans le cas où "nom_branche" existe niquement à distance.
[git checkout -b branch_name Origin/branch_name
] est utile si vous avez plusieurs télécommandes.
En ce qui concerne [git checkout Origin 'another_branch'
], je ne suis pas sûr que cela soit possible. AFAK vous pouvez le faire en utilisant la commande "fetch" - [git fetch Origin 'another_branch'
]
Vérifier: git branch -a
Si vous n'obtenez qu'une seule branche. Ensuite, faites ci-dessous les étapes.
git config --list
git config --unset remote.Origin.fetch
git config --add remote.Origin.fetch +refs/heads/*:refs/remotes/Origin/*
Si vous voulez que la branche suive la branche distante, ce qui est très important si vous voulez valider les modifications apportées à la branche et extraire les modifications, etc., vous devez utiliser add a -t pour le paiement réel, par exemple: git checkout -t branchname
Avec Git 2.2 , vous pouvez utiliser git switch <branch name>
pour changer de branche.