Jump to content

Git

From fonction-publique.com

Git

Git est un logiciel libre de gestion de versions décentralisée, largement utilisé dans le domaine de l’informatique, le développement logiciel et les projets collaboratifs, notamment au sein des organisations de la fonction publique. Créé en 2005 par Linus Torvalds, l’architecte du noyau Linux, Git est devenu un standard incontournable dans la gestion de code source et la collaboration sur des projets numériques.

Historique et Création

Git est développé en avril 2005 par Linus Torvalds, suite à la décision de l’équipe de développement du noyau Linux d’abandonner le système propriétaire BitKeeper. Parmi les contributeurs majeurs à ses débuts figurent Junio C Hamano, qui est devenu par la suite le mainteneur principal du projet. Git a été distribué sous la GPL v2.

Concepts fondamentaux

Git repose sur plusieurs concepts structurants :

  • Dépôt (repository) : Un espace où sont stockées toutes les versions de fichiers d’un projet, localement et à distance.
  • Commit : Un enregistrement atomique des changements apportés à un projet.
  • Branche (branch) : Une ligne indépendante de développement.
  • Fusion (merge) : L’opération qui permet de combiner plusieurs branches.
  • Clone : La duplication complète d’un dépôt, permettant un travail hors-ligne.
  • Staging area : Zone temporaire où sont préparées les modifications avant validation.
  • Remote : Référence à une version distante du dépôt, souvent sur une plateforme comme GitHub ou GitLab.

Fonctionnalités principales

Git se distingue par plusieurs fonctionnalités majeures :

  • Gestion décentralisée des versions
  • Suivi des historiques de modifications
  • Gestion avancée des branches et fusions
  • Optimisation des performances pour des projets volumineux
  • Fonctionnement hors-ligne (local) grâce à la duplication intégrale du dépôt
  • Collaboration simplifiée et contrôle d’accès

Utilisation dans la fonction publique

De plus en plus, des institutions de la fonction publique (telles que la DINUM ou l’ANSSI) adoptent Git pour automatiser, sécuriser et moderniser la gestion de leurs projets informatiques. Les équipes utilisent souvent la plateforme GitLab ou des instances privées de Gitea, en particulier dans les contextes où la maîtrise et la sécurité des données sont essentielles.

Commandes principales

Voici un tableau présentant quelques commandes Git courantes et leur utilité :

Commande Description
git init Initialise un nouveau dépôt local.
git clone Crée une copie d’un dépôt distant.
git add Ajoute des fichiers à la zone de transit.
git commit Enregistre les modifications en local.
git push Envoie les commits vers un dépôt distant.
git pull Récupère et fusionne les modifications d’un dépôt distant.
git merge Fusionne deux branches.
git branch Liste, crée ou supprime des branches.
git status Affiche l’état des fichiers du dépôt.

Avantages

Git présente de nombreux avantages dans la gestion de projets informatiques :

Plateformes et outils associés

L’écosystème Git comprend de multiples forges et outils d’intégration :

  • GitHub : Plateforme populaire pour l’hébergement et la collaboration sur des projets open source et privés.
  • GitLab : Solution open source également utilisée en interne par de nombreuses administrations.
  • Bitbucket : Plateforme orientée entreprises.
  • Gitea : Alternative légère largement adoptée dans le secteur public.
  • SourceForge : Plateforme historique de gestion de projets open source.
  • Outils graphiques : Sourcetree, GitKraken, TortoiseGit, Git Cola.

Cas d’usage dans la fonction publique

L’intégration de Git dans la fonction publique couvre divers cas :

  • Gestion collaborative de code (ex : développement des services numériques de l’État)
  • Documentation versionnée
  • Rédaction et suivi de référentiels techniques
  • Coordonnation multi-site de projets entre différentes directions et établissements publics

Liens avec d’autres systèmes de gestion de versions

Avant Git, d'autres systèmes étaient répandus comme CVS, SVN, Mercurial, Perforce et Bazaar. Git se distingue par son architecture totalement décentralisée et ses performances supérieures.

Standards et sécurité

L’utilisation de Git dans des contextes critiques repose sur la conformité à des normes comme l’ISO/CEI 27001, ainsi que sur l’usage de protocoles sécurisés comme SSH et HTTPS. De plus, certains outils de contrôle d’accès comme LDAP sont fréquemment utilisés pour gérer les droits utilisateurs.

Exemples de projets publics utilisant Git

Voir aussi

Références

Catégorie: