Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Although some online documents may suggest the use of git push --tags, you should never use this, as it pushes all tags in your repository.

Branches

The mastermain branch in a Shibboleth project repository is where work on the next feature release occurs. Maintenance work for previously released versions of the software is performed on branches named maint-release, such as maint-3 or maint-3.4.

...

Simple changes to repositories are often committed directly to the appropriate mastermain or maint- branches. Permissions on these branches is set to enforce the rule that contributions should be "fast-forward" only; merge commits are not permitted.

...

The normal workflow for such a development branch would be:

  • Start from the master main branch: git checkout master main 
  • Create local development branch: git checkout -b dev/my-feature 
  • Publish development branch: git push -u origin dev/my-feature
  • ... perform feature development ...
  • ... any series of commits, merges, rebases, squashes, etc. ...
  • Prepare to merge development branch: git rebase -i mastermain 
  • Move back to parent branch: git checkout mastermain 
  • Bring in the feature's final set of commits: git merge --ff-only dev/my-feature 
  • Publish: git push 
  • Delete remote development branch: git push --delete dev/my-feature
  • Delete local development branch: git branch -d dev/my-feature

...