Git
Git a été créé en 2005 par Linus Torvalds pour maintenir le développement du noyau Linux lorsque BitKeeper est devenu un outil payant pour les mainteneurs de Linux. Git est un système de gestion de versions distribué, disponible comme logiciel open source.
Auparavant, le contrôle de versions suivait un modèle client-serveur : le code était conservé dans un seul répertoire sur un serveur central. Un système de gestion de versions distribué, tel que Git, permet une copie de la version actuelle du code sur l'appareil de chaque développeur. Git met spécifiquement l'accent sur la coordination de grands projets lors du développement de logiciels.
Git permet de suivre les modifications tout en préservant l'incorruptibilité des données, la vitesse et la non-linéarité du développement distribué. Aujourd'hui, les start-ups, les projets open source et les grandes entreprises utilisent Git pour organiser leur développement logiciel. L'enquête de Stack Overflow en 2018 a montré que 88,4% des développeurs utilisaient Git pour le contrôle de codes source. En outre, deux des services d'hébergement de code source les plus populaires en 2021, Github & Gitlab, utilisent exclusivement git pour le contrôle de versions. Bitbucket, un autre des services d'hébergement de code source les plus populaires, inclu également Mercurial pour le contrôle de versions.
- En savoir plus
- Site officiel
Articles associés
GitOps en pratique, déploiement d'applications Kubernetes avec ArgoCD
Catégories : Orchestration de conteneurs, DevOps & SRE, Adaltas Summit 2021 | Tags : Argo CD, CI/CD, Git, GitOps, IaC, Kubernetes
GitOps est un ensemble de pratiques pour déployer des applications à l’aide de Git. Les définitions, les configurations et la connectivité des applications sont stockées dans un logiciel de contrôle…
16 déc. 2021
Python moderne, partie 3 : établir une chaîne de CI et publier son package sur PiPy
Catégories : DevOps & SRE | Tags : GitHub, CI/CD, Git, Python, Versions et évolutions, Tests unitaires
Avant de partager un package Python avec la communauté ou au sein de son organization, il est recommandé d’accomplir un certain nombres de tâches. Elles ont vocation à péréniser le bon fonctionnement…
Par BRAZA Faouzi
28 juin 2021
Python moderne, partie 2 : écrire les tests unitaires & respecter les conventions Git commit
Catégories : DevOps & SRE | Tags : Git, pandas, Python, Tests unitaires
L’application de bonnes pratiques en ingénierie logicielle apporte une plus-value certaine à vos projets. Par exemple l’écriture de tests unitaires vous permet de maintenir de larges projets en vous…
Par BRAZA Faouzi
24 juin 2021
Python moderne, partie 1 : création du projet avec pyenv & poetry
Catégories : DevOps & SRE | Tags : Git, Python, Versions et évolutions, Tests unitaires
L’apprentissage d’un langage de programmation se structure souvent autour de points essentiels : pratiquer la syntaxe du langage, en maîtriser le style, comprendre certains principes et paradigmes…
Par BRAZA Faouzi
9 juin 2021
JS monorepos en prod 5 : fusion de plusieurs dépôts Git et préservation des commits
Catégories : DevOps & SRE, Node.js | Tags : Bash, DevOps, GitHub, Packaging, Git, GitOps, JavaScript, Monorepo
Chez Adaltas, nous maintenons plusieurs projets open-source Node.js organisés en monorepos Git et publiés sur NPM. Nous avons développé notre expérience avec les monorepos Lerna que nous partageons…
Par KUDINOV Sergei
21 mai 2021
JS monorepos en prod 4 : tests unitaires avec Mocha et Should.js
Catégories : DevOps & SRE, Front End | Tags : Automation, CI/CD, Git, GitOps, Monorepo, Node.js, Tests unitaires
Les tests unitaires sont cruciaux pour tous les projets à long terme et permettent d’isoler des fonctionnalités de votre code en unités testables. En effet, l’objectif principal des tests unitaires…
Par WORMS David
25 févr. 2021
JS monorepos en prod 3 : validation de commits et generation du changelog
Catégories : DevOps & SRE, Front End | Tags : CI/CD, Git, JavaScript, Monorepo, Node.js, Versions et évolutions, Tests unitaires
Conventional Commits introduit un format structuré pour les message de commit. Il standardise les messages entre tous les contributeurs. Cela les rend plus lisibles et plus faciles à automatiser. Il…
Par WORMS David
2 févr. 2021
JS monorepos en prod 2 : gestion des versions et de la publication
Catégories : DevOps & SRE, Front End | Tags : CI/CD, Git, GitOps, JavaScript, Monorepo, Node.js, Versions et évolutions, Tests unitaires
Un des grands avantages d’un monorepo est de maintenir des versions cohérentes entre les packages et d’automatiser la création des versions et la publication des packages. Cet article couvre les…
Par WORMS David
11 janv. 2021
JS monorepos en prod 1 : initialization du projet
Catégories : DevOps & SRE, Front End | Tags : Git, GitOps, JavaScript, Monorepo, Node.js, Versions et évolutions
Chaque projet commence par l’étape d’initialisation. Lorsque votre projet est composé de plusieurs sous-projets, il est tentant de créer un dépôt Git par sous-projet. Dans Node.js, un sous-projet se…
Par WORMS David
5 janv. 2021
Construire votre distribution Big Data open source avec Hadoop, Hive, HBase, Spark et Zeppelin
Catégories : Big Data, Infrastructure | Tags : Maven, Hadoop, HBase, Hive, Spark, Git, Versions et évolutions, TDP, Tests unitaires
L’écosystème Hadoop a donné naissance à de nombreux projets populaires tels que HBase, Spark et Hive. Bien que des technologies plus récentes commme Kubernetes et les stockages objets compatibles S…
Par SCHOUKROUN Leo
18 déc. 2020
Reconstruction de Hive dans HDP : patch, test et build
Catégories : Big Data, Infrastructure | Tags : Maven, GitHub, Java, Hive, Git, Versions et évolutions, TDP, Tests unitaires
La distribution HDP d’Hortonworks va bientôt être dépreciée a profit de la distribution CDP proposée par Cloudera. Un client nous a demandé d’intégrer d’une nouvelle feature de Apache Hive sur son…
Par SCHOUKROUN Leo
6 oct. 2020
Versionnage des données et ML reproductible avec DVC et MLflow
Catégories : Data Science, DevOps & SRE, Évènements | Tags : Data Engineering, Databricks, Delta Lake, Git, Machine Learning, MLflow, Storage
Notre présentation sur la gestion de versions sur des données et le développement reproductible d’algorithmes de Machine Learning proposé au Data + AI Summit (anciennement Spark + AI) est accepté. La…
30 sept. 2020
Gestion des versions de vos jeux de données avec Data Version Control (DVC) et Git
Catégories : Data Science, DevOps & SRE | Tags : DevOps, Infrastructure, Exploitation, Git, GitOps, SCM
L’utilisation d’un système de contrôle de version tel que Git pour le code source est une bonne pratique et une norme de l’industrie. Étant donné que les projets se concentrent de plus en plus sur les…
Par JOUET Grégor
3 sept. 2020
Automatisation d'un workflow Spark sur GCP avec GitLab
Catégories : Big Data, Cloud computing, Orchestration de conteneurs | Tags : Enseignement et tutorial, Airflow, Spark, CI/CD, GitLab, GitOps, GCP, Terraform
Un workflow consiste à automiatiser une succéssion de tâche qui dont être menée indépendemment d’une intervention humaine. C’est un concept important et populaire, s’appliquant particulièrement à un…
16 juin 2020
Stage InfraOps & DevOps - construction d'une offre PaaS Big Data & Kubernetes
Catégories : Big Data, Orchestration de conteneurs | Tags : DevOps, LXD, Hadoop, Kafka, Spark, Ceph, Internship, Kubernetes, NoSQL
Contexte L’acquisition d’un cluster à forte capacité répond à la volonté d’Adaltas de construire une offre de type PAAS pour disposer et mettre à disposition des plateformes de Big Data et d…
Par WORMS David
26 nov. 2019
Introduction à Cloudera Data Science Workbench
Catégories : Data Science | Tags : Azure, Cloudera, Docker, Git, Kubernetes, Machine Learning, MLOps, Notebook
Cloudera Data Science Workbench est une plateforme qui permet aux Data Scientists de créer, gérer, exécuter et planifier des workflows de Data Science à partir de leur navigateur. Cela leur permet…
Par ELALAMI Mehdi
28 févr. 2019