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 premier téléchargement 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 de 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 modifications ne sont pas poussées. 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, cependant, il y a des modifications complexes conflictuelles dans la même partie du code, Git lancera 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 permettre de voir aussi facilement que possible quelles modifications doivent être appliquées manuellement pour permettre à la fusion de se terminer. Une fois que vous avez résolu tous les conflits, tapez la commande « git merge –continue » pour terminer la fusion.
![Comment extraire un référentiel Git sous Linux Comment extraire un référentiel Git sous Linux](https://cloudo3.com/resources/images/image-cloudo3db-0725105329800.jpg)
La commande "git mergetool" ouvrira un outil graphique comme celui-ci pour vous aider à résoudre manuellement les conflits.