Il y a plusieurs raisons de trouver Git génial ( et aussi plusieurs de le trouver minable), et il arrive un moment où il est utile de dissiper des rumeurs et des problèmes autour de Git. La liste suivante se propose de montrer ce que Git n’est pas. Si vous avez vos propres arguments, vous pouvez les ajouter aux commentaires et ils seront ajoutés à cette page.
Git focntionne vraiment différemment de SVN et CVS. La différence la plus importante est que Git conserve principalement du contenu, et il fonctionne en conservant des images de l’information disponible (C’est pourquoi Git est souvent décrit comme un ‘outil de suivi d’information idiot’). Son algorithme de conservation des modifications est fondamentalelement différent de Subversion, et celui-ci est vraiment efficace.
De plus, si vous êtes habitués à avoir tous vos projets dans un grand dépôt, ce n’est pas la manière de travailler de Git. Les dépôts sont destinés à reçevoir un projet unique, et vous pouvez utiliser des sous-modules qui peuvent pointer sur d’autres dépôts si besoin est. Une astuce concernant la manière de se sortir de cette situation sera publiée dans le futur.
Des différences entre Git et SVN peuvent apparaitrent dans leurs astuces d’utilisation repectives, le cours intensif Git-SVN établit un parralèle entre les commandes pour ceux qui voudraient migrer d’un système à l’autre.
Les commits locaux sont un avantage à l’utilisation de Git, cela signifie que le déroulement de votre travail sera plus fluide puisqu’il n’aura pas à parler à un serveur central via le réseau pour la plupart des actions. Si vous voulez en savoir plus sur son mode de fonctionnement, consulter cette article sur la zone de transit ou celui-ci sur l’envoi et le rapatriement.
Un autre avantage majeur est qu’il n’y a qu’*un* endroit où git conserve ses fichiers pour votre dépôt (habituellent le répertoire .git
) et il n’encombre pas votre copie de travail avec des milliers de fichiers et de répertoires comme le fait SVN.
Git peut être installé sur presque tous les systèmes d’exploitations modernes, et il fonctionne sur Windows. Le support pour les interfaces utilisateur n’est pas à 100% sur Windows, mais beaucoup de personnes travaillent à son intégration à l’Explorer et à d’autres interfaces de développement. Il y a plein d’outils astucieux disponible sur d’autres système d’exploitation comme GitX sur OSX.
Mettre en place unu répertoire Git est aussi simple que de soumettre la commande git init
dans un répertoire. Cela ne peut pas être plus simple. Partager vos modifications avec les autres peut être plus intéressant. La plupart du temps, partager ses modifications est l’affaire d’une ou deux commandes en plus. La mise en place de l’hébergement personnalisé des versions peut être plus compliquée: habituellement la meilleure méthode est d’utiliser gitosis, qui est un outil d’aide à l’attribution de clés SSH pour les utilisateurs désirant effectuer un commit.
le manuel d’utilisation de Git est très complet (et verbeux), mais il y a plein d’autres guides en ligne pour apprendre Git. Nous en avons choisis quelques uns parmi les meilleurs dans la section ressources en ligne du bas de page de ce site ! Pour les novices dans l’utilisation de Git, je recommande de lire le Git Community Book et de parcourir quelques vidéos de GitCasts. (Lire ce site est important aussi !)
Bien sûr, il y a beaucoup de termes barbares et des concepts que tout le monde ne maitrise pas instantanément, mais les concepts sous-jacents sont fondamentalement et volontairement simple. Un bon exemple en est la structure blob-arbre-commit. Une fois que les concepts de base de Git sont acquis, il est vraiment facile de dominer cet outil et d’éviter ainsi qu’il vous impose votre manière de travailler. Bien sûr, trop de flexibilité peut être une mauvaise chose mais quand cela permet de autant de pouvoir et de facilité d’utilisation, pourquoi s’en priver ?