Devrions-nous toujours faire comme:
git fetch && git checkout
Ou seulement,
git checkout
?
Par exemple, lors de l'extraction d'une branche dans bitbucket, ils fournissent la commande sous la forme:
git fetch && git checkout develop
Mais pourquoi est-ce nécessaire si
git checkout
va faire la même chose, n'est-ce pas?
Comme je dois utiliser Bitbucket quotidiennement pour plusieurs projets et plusieurs branches, je vais vous donner ma recommandation.
Si vous extrayez de Bitbucket, c’est-à-dire que vous créez une branche, vous devriez pouvoir utiliser les commandes qu’ils vous ont fournies au fur et à mesure que vous les avez collées dans votre exemple. Cependant, comme il est probable qu'après la vérification initiale, vous changerez de branche, que vous créiez des branches et que votre section locale ne se synchronise plus, je vous recommande ce qui suit à l'aide de votre terminal. :
git checkout develop
ou quelle que soit la branche dont vous avez besoingit fetch && git pull
c'est-à-dire aller chercher toutes les branches et les dernières modifications, ainsi que toutes les modifications de la branche sur laquelle vous vous trouvez. Oui, cela semble être un travail en double, mais en travaillant avec Bitbucket, je dirai que c’est le moyen le plus sûr et le plus sûr d’avoir les dernières informations de la branche sur laquelle vous travaillez.
Cela étant dit, vous devriez toujours créer des branches et ne jamais appuyer directement sur vos branches develop
ou master
.
Supposons donc que vous êtes sur une branche develop
et que vous avez résolu le problème ci-dessus en consultant la branche, puis en recherchant et en extrayant la dernière, vous créeriez une branche à partir de cette branche principale à l'aide de git checkout -b my-feature-branch
standard
Exemple de ce que nous faisons dans ma boutique:
git checkout develop
git fetch && git pull
git checkout -b feature/JIRA_ISSUE_NUMBER-update-layout-for-this-page
Vous avez maintenant extrait la branche de développement, extrait toutes les dernières modifications et branches distantes et créé une branche de fonctions à partir de cette branche de développement.
J'espère que cela t'aides.
Pour être spécifique à votre question "lors de l'extraction d'une branche dans bitbucket, ils fournissent la commande sous la forme: git fetch && git checkout develop ". En effet, la branche de développement créée sur le cloud ou à distance ne sera pas disponible sur votre ordinateur local tant que vous n'allez pas récupérer les mises à jour à distance.
Ainsi, pour pouvoir basculer ou passer à une branche en développement, vous devez d’abord extraire toutes les mises à jour à distance pour connaître l’existence de la branche en développement. Une fois que vous effectuez une récupération, votre responsable local sera informé de la création de la nouvelle branche à distance; et lorsque vous effectuez un paiement à développer, il va configurer une nouvelle branche locale pour suivre sa partie distante.
git fetch
enregistrera toutes les modifications depuis votre emplacement distant
git checkout
vous permettra de changer de branche (ou de restaurer vos fichiers à un état antérieur, en fonction de votre utilisation)
Utilisez fetch et checkout pour changer de branche et extraire tous les fichiers mis à jour. Utilisez uniquement la validation pour changer de succursale, mais continuez à travailler sur votre version locale.
git fetch
extrait les références aux branches distantes en cours de création sur (dans ce cas) BItbucket.
git checkout
déplace votre répertoire actuel dans une branche spécifique ou un commit spécifique (selon le paramètre).
Que se passe t-il ici? Lorsque vous créez une branche sur votre bitbucket, ils vous fournissent cette commande car: 1- La branche a été créée sur le référentiel REMOTE. Votre copie locale du référentiel n’a pas encore cette nouvelle branche. C’est la raison pour laquelle la commande git fetch
est utilisée… .. 2- 2- Bitbucket suppose que, puisque vous venez de créer cette nouvelle branche, vous allez y travailler immédiatement et vous devez le signaler à votre référentiel local. C’est la raison pour laquelle la commande git checkout
est utilisée.
Ce n'est pas le seul moyen d'y parvenir. Vous pouvez, par exemple, éviter cette commande git fetch
en utilisant:
git checkout -b {new_branch_name} && git pull Origin {new_branch_name}
Ce n’est pas le moyen le plus pratique, mais vous donnera probablement une meilleure idée du fonctionnement de ces commandes.
git fetch
met à jour le Origin/<branch_name>
avec la télécommande. git checkout
peut être utilisé pour changer de branche. Les deux n'ont aucune corrélation, sauf si vous essayez de passer à une branche récemment créée dans la télécommande et que sa version locale n'existe pas sur votre système.
Cependant, quand vous faites git pull
(ou git fetch
et git rebase
) puis git checkout -b <another_branch>
pour en créer un, vous vous assurez que votre nouvelle branche est dotée de la dernière version du code stable.