Skip to main content

Git checkout d’une branche distante : fonctionnement et utilisation

Écrit par
blog feature snyk container custom base recommendations

15 décembre 2020

0 minutes de lecture

Git est un formidable outil de gestion de versions utilisé par de nombreux développeurs pour leurs projets. Bien qu’il existe beaucoup d’autres systèmes de gestion de versions, comme Subversion (SVN) et Concurrent Versioning System (CVS), Git est de loin le plus utilisé. Cela s’explique notamment par l’importance accordée au développement distribué et par la simplicité d’utilisation des branches. Découvrons les branches dans Git et ce que signifie réellement git checkout remote branch.

Qu’est-ce qu’une branche ?

Une branche permet simplement de s’écarter de la ligne principale de développement. Elle sert généralement à développer une nouvelle fonctionnalité ou à corriger un bug dans une branche dédiée. Vous pouvez ainsi isoler vos modifications et garder votre branche principale ou master propre. Les branches Git sont très utiles, car elles sont faciles et relativement peu coûteuses à créer. Contrairement à d’autres systèmes de gestion de versions, une branche Git n’est pas une copie de votre code : c’est simplement un pointeur vers le nœud d’origine à partir duquel elle a été créée.

Diagramme d’une branche principale verte avec quatre commits et d’une branche bleue qui diverge à partir de son premier commit

Comment basculer vers une branche ?

Si une branche se trouve déjà sur votre machine locale, vous pouvez simplement basculer vers elle à l’aide de la commande git checkout <branch name>.

Par exemple, pour créer une branche nommée « dev » à partir de votre branche principale, utilisez git branch dev : cette commande crée uniquement la branche. Pour y travailler et y enregistrer vos modifications, vous devez ensuite basculer vers cette branche comme précédemment, avec git checkout dev.

Remarque : lorsque vous basculez vers une branche sur votre machine locale, tous les commits seront enregistrés sur la nouvelle branche et non sur la branche principale. Vous pouvez également créer une branche à partir d’une autre branche, et ainsi de suite. Cela peut sembler étrange, mais imaginez que vous développez une nouvelle fonctionnalité dans une nouvelle branche et que vous souhaitez faire quelques essais. Il est tout à fait logique de créer un niveau de branche distinct à partir de votre branche de fonctionnalité.

Comment basculer vers une branche distante ?

Une branche distante est idéale pour partager votre travail de développement avec les autres membres de votre équipe. À noter que git checkout remote branch n’est pas une commande qui existe réellement. Pour basculer vers une branche distante publiée par quelqu’un d’autre, vous devez d’abord utiliser git fetch. Cette commande télécharge sur votre machine locale les références du dépôt distant, y compris celle de la branche distante. Il ne vous reste ensuite qu’à exécuter git checkout <remote branch name>.

Comment créer une branche locale à partir d’une branche distante ?

Après un fetch, vous pouvez basculer vers la branche distante comme indiqué précédemment. Une copie locale de cette branche est alors disponible sur votre machine. Pour basculer vers une branche distante en lui donnant un autre nom sur votre machine locale, exécutez la commande suivante :

git checkout -b myLocalName origin/remoteName

Votre branche locale, myLocalName, sera liée à la branche distante remoteName. Notez que origin est le nom de référence habituel du dépôt distant d’origine à partir duquel mon projet a été cloné. Ce nom peut être différent, par exemple si vous travaillez avec plusieurs dépôts distants.

Comment analyser une branche locale pour détecter les failles de sécurité ?

Après avoir basculé vers une branche distante sur votre machine locale, vous pouvez l’analyser localement avec la Snyk CLI. Après avoir créé un compte gratuit et installé l’outil CLI, accédez au répertoire racine de la branche et exécutez les commandes suivantes

  • snyk test pour analyser les dépendances open source

  • snyk code test pour analyser statiquement votre code source à la recherche de failles

  • snyk container test pour analyser vos conteneurs à la recherche de problèmes de sécurité

  • snyk iac test pour vérifier que votre infrastructure en tant que code ne présente aucune faille

Consultez notre antisèche et notre documentation pour en savoir plus.

Comment transformer ma branche locale en branche distante ?

Si vous travaillez sur une branche locale myNewFeature et souhaitez la partager à distance, vous devez définir sa branche amont pour en faire une branche distante.

Pour envoyer mes modifications, je dois d’abord utiliser -u ou --set-upstream, comme ceci :

git push -u origin myNewFeature

La branche locale dispose alors aussi d’un équivalent distant. La prochaine fois que je voudrai envoyer des modifications, je pourrai simplement utiliser git push sans aucun paramètre.

Comment protéger ma branche par défaut des failles de sécurité ?

Snyk propose des intégrations natives pour tous vos projets sur GitHub, Bitbucket, GitLab et Azure Repos. En connectant votre dépôt, vous pouvez utiliser des outils comme Snyk Open Source, Snyk Code, Snyk IaC et Snyk Container directement sur votre branche par défaut. L’intégration Git crée automatiquement des demandes de pull contenant des correctifs et analyse les PR entrantes avant leur fusion. Vous pouvez ainsi intégrer facilement la sécurité à votre dépôt et éviter de livrer du code vulnérable.

Lancez-vous dans les compétitions Capture The Flag

Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.

Lire la suite

Blog

Les modèles de pointe ont trouvé les vulnérabilités. Seul l’attaquant a trouvé les chaînes d’exploitation.

L’analyse statique a détecté les failles, mais seuls des tests d’attaque en conditions réelles ont prouvé comment elles pouvaient être enchaînées pour provoquer des compromissions. Comparaison d’Evo COS, de Claude Security et de Claude Code Security.

feature insights context
Blog

Les attaques autonomes sont déjà là. La défense doit suivre leur rythme.

Les attaquants autonomes réduisent la fenêtre de défense. Découvrez comment la découverte, la correction, la validation et la prévention continues peuvent aider les équipes de sécurité à suivre le rythme.

Blog

Pourquoi les agents de codage IA créent-ils sans cesse des failles de contrôle d’accès ?

Les agents de codage IA peuvent générer une logique d’autorisation qui compile et passe la revue, tout en exposant les données d’un tenant à un autre. Découvrez pourquoi les failles de contrôle d’accès sont difficiles à détecter et comment les prévenir.