Skip to content
Ari Timonen edited this page Apr 25, 2018 · 13 revisions

Branches

  1. release branch has releases
  2. develop branch has development commits
  3. developers work on their own branches

Development Workflow

Developers pull develop branch, copy it to a new branch (eg. dev1guy-description-of-feature). When feature or bugfix is done, create a pull request to the develop branch. The new branch is then rebased on top of develop branch, commits added to the develop branch, the new branch is removed and the pull request is closed.

In terms of commands it is something like.

  1. git clone [email protected]:ENSL/NS.git
  2. git checkout develop
  3. git checkout -b dev1guy-new-movement develop
  4. (add changes)
  5. git commit -a
  6. git push origin
  7. (go to website and create a pull request from new branch to develop)

When developing you want to run rebase before creating the pull request to make sure there are no conflicts. Run git rebase master before pushing the develop if develop has changed at all after creating the new branch.

Release

When develop branch is ready for release, we merge develop to release branch and tag the merge commit with a version. Release is created through the website.

Other rules

  1. No binary blobs to the git tree
  2. No temporary or backup files
  3. Do not include extra libraries unless absolutely necessary
  4. Use LF line endings (Linux-style) in repository. Then git can checkout Windows-style (CRLF) when it needs them and commit LF line endings back to repo. This should be transparent to the developer. The .gitattributes and .gitignore files have been configured to enforce this style.
Clone this wiki locally