Branching, merging and tagging
Best Practices and tips for using Git and SVN with the Talend products.
The official support of SVN within Talend Studio is deprecated from version 7.3, but the SVN concept of diverging branches can still be used on Git with Talend.
Best practices for Git:
-
All developers should work on branches other than the 'main'.
-
For each development (bug, new features), a feature branch is created. The developers work in local mode and ask for a review of their commits before merging their changes into the remote 'main' repository.
On a Talend Git remote project, local branches (Local Mode) are used by default. When developers work in local or offline mode on a Git project, they are working on the local branch associated with the branch they last worked on, and changes are automatically committed to the local Git repository.
Once the feature is ready, developer need to push the commits to the remote development branch before pulling and merging this remote branch to the 'main' when the feature is tested. In Git a remote branch is created on the whole repository and thus is available in all projects of this repository.
For more information on how to work with branches, see the Talend Studio User Guide.
-
Each time developers reach a Milestone (for releases, features, sprints, etc.), a Tag should be used. A new Tag should be created when the feature is ready for delivery (Production environment). If the tagged version needs bug fixing, a branch can be created from the Tag and the fix can then be included in the 'trunk'/'main'.
-
It is recommended to define patches as minor versions and full releases as major versions.
-
When working in a specific branch, it is recommended to filter the project on this branch using the Git Branches allowlist option in order to reduce the use of disk resources and improve performances.
Best practices for diverging branches:
-
All developers should work on Jobs in the 'trunk/main branch' of the Development environment.
-
When a new intermediate release is required, the main branch needs to be copied in its entirety to the new Branch or Tag.
-
Each time developers reach a Milestone (for releases, features, sprints, etc.), a Tag should be used.
-
A new Tag should be created when the feature is ready for delivery (Production environment). If the tagged version needs bug fixing, a branch can be created from the Tag and the fix can then be included in the main branch.
-
It is recommended to define patches as minor versions and full releases as major versions.
Talend provides a number of tools for branches and tags management, which are covered in Branching, merging and tagging in Talend.