Qu'est-ce que Git?

Qu'est-ce que Git?

Qu'est-ce que Git?

Aujourd'hui, la plupart des projets de développement de logiciels sont des efforts de collaboration. Ces projets peuvent avoir des centaines ou des milliers de personnes qui y travaillent. Donc, garder une trace des changements est une nécessité pour une collaboration plus fluide. Git est un système de contrôle de version distribué open source qui garde une trace des actifs logiciels et aide à exécuter des processus de développement plus efficaces.

Qu'est-ce qu'un système de contrôle de version?

Lorsque les développeurs travaillent sur un logiciel, ils doivent garder une trace de leurs changements. Un système de contrôle de version (VCS) se souvient des versions du logiciel lorsqu'il se déplace à travers les différentes étapes du développement. Travailler avec un système de contrôle de version présente les avantages suivants:

  • Histoire à long terme: Les systèmes de contrôle de version maintiennent l'historique de qui, quoi et quand de toute modification du code logiciel. Cette histoire est une ressource précieuse pour trouver tout défaut avec le logiciel. S'il y a des problèmes avec le nouveau code, vous pouvez toujours revenir aux anciennes versions.
  • Branche et fusion: La plupart des contrôles de version ont des capacités de ramification et de fusion. Ainsi, les équipes de développement peuvent diviser le travail en plusieurs flux et travailler simultanément sur divers aspects du projet.
  • Traçabilité: Le contrôle de version donne aux développeurs un moyen de tracer facilement et de manière fiable les bogues et les problèmes dans un logiciel. Cela diminue la confusion. Il crée un environnement de collaboration efficace et transparent.

Git - le contrôle de version distribuée

Initialement, la plupart des systèmes de contrôle des versions étaient centralisés. Dans le modèle centralisé, les informations de contrôle de version comme la paternité, la date, l'heure et les informations de modification seraient maintenues dans un serveur ou une base de données centralisée. Le problème avec ce modèle était que les équipes de développement seraient limitées par l'alimentation ou le trafic du serveur central. Lorsque le serveur central est tombé, l'ensemble du système serait à l'arrêt.

Dans un système de contrôle de version distribué (DVCS), les informations de version sont maintenues avec chaque copie du code. Il permet le partage de peer-to-peer. Il n'y a pas besoin d'un référentiel centralisé (même s'il est possible d'en configurer un).


Histoire courte de Git

Git a commencé dans un peu de controverse comme un acte de vengeance. En 2002, la communauté Linux a commencé à utiliser gratuitement le système de contrôle de version de version distribuée propriétaire. Mais en 2005, la relation entre la communauté Linux et Bitkeeper est tombée en panne lorsque le statut d'utilisation libre a été révoqué. Alors Linus Torvalds, le créateur de Linux, a commencé à développer Git en tant que produit open-source. Cette année, la première version de Git a été publiée. Aujourd'hui, Git est le système de contrôle de version le plus populaire.

Pour les avantages et les inconvénients de Git

Git est un système de contrôle de version distribué simple et puissant avec les avantages et les inconvénients suivants:

Avantages

Performance: La plupart des équipes de développement se déplacent vers Git pour les avantages sociaux. Commits, ramification et fusion sont plus rapides dans Git que les systèmes de contrôle de version centralisé comme CVS, SVN ou Perforce. De plus, la nature distribuée du logiciel permet aux développeurs de partager plus facilement le travail entre pairs. Ce processus est plus rapide que d'obtenir le code d'un serveur central.

Sécurité: L'intégrité du code est plus facile à vérifier sur Git. Il utilise le hachage SHA1 Cryptographicalement sécurisé. Les hachages sont uniques à chaque modification. Si quelqu'un modifie une modification, les hachages ne correspondront pas. Cette propriété de Git rend plus difficile pour quiconque de se faufiler dans le code change subrepticement.

La flexibilité: Git a été conçu pour s'adapter à tout flux de travail. Les anciens systèmes de contrôle de version sont plus restrictifs. Mais Git donne à votre équipe plus de latitude. Vous pouvez même créer un flux de travail centralisé ou vous intégrer à d'autres systèmes de contrôle de version pour faire fonctionner vos systèmes hérités.

Les inconvénients

Plus difficile à apprendre: Les concepts git ne sont pas toujours intuitifs. D'autres systèmes de contrôle de version adoptent une approche plus basée sur l'interface utilisateur. La communauté Git a tendance à préférer la ligne de commande. Il est donc plus difficile pour les utilisateurs non techniques d'apprendre.

Nostalgie pour le contrôle de la version centralisée: Les entreprises hésitent parfois à utiliser le GIT car il n'y a pas de contrôle centralisé. Mais si vous avez besoin d'un référentiel centralisé, vous pouvez toujours concevoir un workflow pour l'implémenter.


Conclusion

Git a augmenté en popularité en raison de la valeur qu'elle ajoute à toute équipe de développement. Même si vous travaillez seul sur un projet, avoir un historique fiable peut vous faire gagner beaucoup de temps. Git est un outil gratuit et utile pour tout projet de développement de logiciels.

Une étude plus approfondie:

Site Web git
Bases Git
Github - site d'hébergement git
Bitbucket - site d'hébergement Git

Les références:

  • https: // www.atlassien.com / git / tutoriels / what-est-version-contrôle
  • https: // www.atlassien.com / git / tutoriels / what-est-git
  • https: // git-scm.com / book / en / v2 / get-started-a-short-history of-git
  • https: // git-scm.com / book / en / v2 / get-started git-basics
  • https: // github.com /