Skip to the content.

Git

Workflow

  1. Create a feature branch

    • Prefix branch name with feature/ or fix/ when applicable; otherwise, prefix with your initials, e.g. tk/
    • Use kebabcase
    • Include the issue number when applicable
    • Briefly describe the change

    Examples: feature/610-seelog-wrapper, fix/tequilapi-startup, tk/polish-tequilapi

  2. Implement the changes (series of commits)
    • It’s best when commmits are clearly separated, i.e. each fix, change, refactoring, extra tests go into their own commits
    • When fixing up a commit that already exists on your feature branch, try your best to squash the fix to the related commit so that we can avoid noise in git history
      • If it’s the last commit:

        $ git commit --amend
        
      • Otherwise, do an interactive rebase to squash them into cohesive commits with good messages:

        $ git fetch origin
        $ git rebase -i origin/master
        
  3. Rebase frequently to incorporate upstream changes

     $ git pull --rebase origin master
    
  4. Push your branch and create a pull request (PR)
    • Request reviews as suggested and anyone else you see fit
    • Wait for approvals and CI checks to pass
  5. Merge PR and remove the branch (or ask someone with push rights to do it)

General tips:

Commit messages

We use widely established conventions for idiomatic Git commit messages:

Read more ↗

Releases process

In order to release new version of a software:

Motivation for such release process

Tagging convention

For go projects, release tags follow this convention: [major].[minor].[patch]