SCM Concepts - Cloud

Talend Software Development Life Cycle for Cloud - Best Practices Guide

Talend Cloud
Talend Artifact Repository
Talend Management Console
Talend Studio
Administration and Monitoring
Design and Development
Version control systems allow multiple developers to work on the same project by committing/pushing and retrieving their changes to/from the server.
  • Branching allows developers to isolate code and work independently without disturbing the main development line (the 'master' on GIT).

    A Branch is a copy of the project taken at a specific point in time, for example when preparing a new release for promotion to another environment. The copy can be taken from the main development line, from another Branch or from a Tag. A Branch is editable and can therefore "fork" from the original source. In this situation, reconciliation between the original source (branch or trunk) and the forked Branch must be done manually.

  • Merging allows developers to join two or more development branches and their corresponding commit histories together. For more information on the concept of Git merging, see the git-merge documentation.

  • Tagging allows developers to mark a particular revision as important in the development process. Tags also allow you to fix errors on the exact same version as the one used to deploy the Jobs during the previous development phases.

    A Tag is similar to a Branch, but is a read-only snapshot of a Master or Branch. Once created it cannot be edited in any way. However it is possible to create a new Branch (which is editable) from a Tag.

Development teams are expected to define the workflow they want to use.

The following diagram shows the generic process of GIT branching and tagging.

For more information on Git flows, see this GitHub visual tutorial.