====== TerraLib Developer's Guide - Branches and Tags ====== ===== Branches ===== You can check all branches available (remotes and local) and see the current one (marked with "*"): $ git branch -a The output of above command will be something like: * master release-5.4 release-5.3 release-5.2 remotes/origin/HEAD -> origin/master remotes/origin/develop remotes/origin/master remotes/origin/release-5.0 remotes/origin/release-5.0.0-alpha remotes/origin/release-5.0.0-beta remotes/origin/release-5.1 remotes/origin/release-5.2 remotes/upstream/develop remotes/upstream/master remotes/upstream/release-5.0 remotes/upstream/release-5.0.0-alpha remotes/upstream/release-5.0.0-beta remotes/upstream/release-5.1 remotes/upstream/release-5.2 In the above output the **"* master"** means that the current branch is //**master**//. We have the following branches: * **develop:** This is the branch where the development team is working to add new features to future versions of TerraLib and TerraView. It may be unstable although all updates((merge request in GIT)) are accepted only after building in all platform. We don't recommend to generate production versions of TerraLib/TerraView from this branch. Use it for testing new features and get involved with TerraLib/TerraView development. * **release-5.4:** This is the branch for TerraLib generation //5.4.z//. * **release-5.3:** This is the branch for TerraLib generation //5.3.z//. * **release-5.2:** This is the branch for TerraLib generation //5.2.z//. * **release-5.1:** This is the branch for TerraLib generation //5.1.z//. * **release-5.0:** This is the branch for TerraLib generation //5.0.z//. * **master:** This is the default branch((after //clone// command)). In order to switch to one of the branches listed above, use the checkout command and create a local branch to track the remote branch. The syntax of ''git checkout'' is: $ git checkout -b In order to switch to branch //**develop**// you can use the following command: $ git checkout -b develop origin/develop ===== Tags ===== Also there are tags which usually are originated from a release branch. For instance, tag **//5.0.0//** and **//5.0.1//** is originated from branch **//release-5.0//**. To check all tags available, use: $ git tag -l (list all tag names) 5.0.0 5.0.0-alpha 5.0.0-beta 5.0.1 If you want to checkout a specific version given by a tag and create a local branch to work on, you can use the following git command: $ git checkout -b For instance, to checkout **5.0.1** you can enter the following command: $ git checkout -b 5.0.1 5.0.1 ---- After selecting the right branch or tag, please, read the [[:wiki:documentation:devguide:src_instructions|Source Code Instructions]] section.