Comment extraire un référentiel Git sous Linux

click fraud protection

Git définit un processus de contrôle de version sur la façon dont les projets doivent être partagés. Il existe de nombreux sites Web qui vous permettent d'héberger vos projets Git. GitHub est l'option la plus populaire, Bitbucket est une autre alternative populaire, les deux autorisent des comptes gratuits qui peuvent créer des référentiels publics ou privés illimités. GitLab propose une alternative auto-hébergée permettant un développement privé sans dépendre d'un hébergement tiers.

Le processus de téléchargement initial d'un référentiel Git s'appelle le clonage. Le clonage inclut toutes les informations sur le référentiel à l'époque, cependant, pour maintenir le référentiel à jour au fil du temps, vous devez extraire les nouvelles versions. Pour cela, il suffit d'ouvrir une fenêtre de terminal dans le répertoire avec la version locale du référentiel et de taper la commande « git pull ».

Le fonctionnement de cette commande est particulièrement simple si vous souhaitez simplement télécharger une version mise à jour du référentiel; la version locale sera mise à jour pour correspondre à la version distante. Vous pouvez, cependant, voir qu'il pourrait y avoir des problèmes si vous avez apporté des modifications à votre version locale.

La commande "git pull" exécute en fait deux commandes distinctes "git fetch" et "git merge FETCH HEAD". La sous-commande « git fetch » extrait spécifiquement la version la plus récente du référentiel en ligne et la stocke temporairement. La sous-commande « git merge FETCH HEAD » fusionne ensuite vos modifications locales avec la version téléchargée, les nouveaux commits étant préférés.

Astuce: Un "git commit" est une soumission d'un changement, il est possible d'avoir plusieurs commits locaux et distants qui font la même chose ou des choses différentes. Les commits locaux ne sont pas visibles pour la version distante tant que les changements ne sont pas poussés. Chaque commit détaille exactement les modifications apportées et inclut un horodatage.

Conflits entre les versions locales et distantes

Idéalement, dans un scénario de fusion, il n'y aura pas de conflits et le processus de fusion se terminera automatiquement. Les fusions peuvent être particulièrement faciles si peu de modifications ont été apportées ou si vos modifications locales n'interfèrent pas avec les modifications à distance. Si, toutefois, des modifications complexes et conflictuelles sont apportées à la même partie du code, Git générera une erreur de fusion.

À ce stade, vous pouvez soit interrompre la fusion avec la commande « git merge –abort » soit essayer de résoudre manuellement les conflits. Les commandes « git mergetool » et « git diff » fournissent un exemple graphique des différences qui devraient aider pour qu'il soit aussi facile que possible de voir quels changements doivent être appliqués manuellement pour permettre à la fusion de Achevée. Une fois que vous avez résolu tous les conflits, tapez la commande "git merge -continue" pour terminer la fusion.

La commande "git mergetool" ouvrira un outil graphique comme celui-ci pour vous aider à résoudre manuellement les conflits.