Concepts liés au contrôle des versions - 7.0

Talend Software Development Life Cycle - Guide de bonnes pratiques

author
Talend Documentation Team
EnrichVersion
7.0
EnrichProdName
Talend Big Data
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
task
Administration et monitoring
Création et développement
EnrichPlatform
Studio Talend
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend JobServer
Subversion et GIT permet à tous les développeurs de travailler sur le même projet en committant/poussant et en récupérant leurs changements vers/sur le serveur.
  • Les Branches permettent aux développeurs d'isoler le code et de travailler indépendamment sans nuire à la ligne principale de développement (le 'trunk' pour SVN, le 'master' pour GIT).

    Une Branche est une copie du projet à un moment spécifique donné, par exemple pour pousser des éléments vers un autre environnement lors de la préparation d'une sortie de produit. La copie peut se faire depuis la ligne principale de développement ('trunk' ou 'master'), depuis une autre Branche ou depuis un Tag. Une Branche est modifiable et peut donc se séparer de sa source. Dans ce cas, la "réconciliation" entre la source (branche ou tronc) et la Branche séparée se fait manuellement.

  • Les Fusions (Merges) permettent aux développeurs de regrouper deux ou plusieurs branches ainsi que leur historique de commits. Pour plus d'informations sur le concept des fusions Git, consultez la documentation sur git-merge (en anglais).

  • Les Tags permettent aux développeurs de marquer une révision particulière comme "importante" dans le processus de développement.

    Un Tag est similaire à une Branche, mais est un instantané en lecture seule du Trunk/Master ou de la Branche. Une fois créé, il ne peut être modifié, cependant il est possible de créer une nouvelle Branche (qui est donc modifiable) depuis un Tag.

Les équipes de développement sont supposées définir le workflow (flux de travail) qu'ils souhaitent implémenter. Pour plus d'informations sur les différences entre SVN et Git, consultez cet article de la documentation GitHub (en anglais).

Le diagramme qui suit présente un processus générique des Branches et Tags SVN.
Le diagramme qui suit présente un processus générique des Branches et Tags Git.

Pour plus d'informations sur les flux Git, consultez ce tutoriel GitHub (en anglais).