Files

1.6 KiB

Development Workflow

This project uses a Git Flow-inspired workflow with develop as the leading edge for all development work.

Branch Structure

  • develop: Leading edge branch for ongoing development. All feature branches are created from this.
  • main: Production-ready code. Only merged from develop after review and testing.
  • feature/*: Short-lived branches for specific features. Created from and merged back to develop.

Workflow

Starting New Work

# Ensure you're on develop and up to date
git checkout develop
git pull origin develop

# Create a feature branch from develop
git checkout -b feature/your-feature-name

Completing Work

# Commit your changes
git add .
git commit -m "Describe your change"

# Push to remote (this creates the branch on origin)
git push -u origin feature/your-feature-name

Creating a Pull Request

  1. Push your feature branch to GitHub
  2. Create a Pull Request from feature/* → develop
  3. Get review and approval
  4. Merge to develop

Releasing to Production

# When ready to release, merge develop to main
git checkout main
git pull origin main
git merge develop
git push origin main

# Create a tag for the release
git tag -a v1.0.0 -m "Version 1.0.0"
git push origin v1.0.0

Guidelines

  • Always create feature branches from develop
  • Never commit directly to develop or main
  • Keep feature branches focused on a single purpose
  • Merge feature branches to develop (not directly to main)
  • Only merge develop to main when ready for production release
  • Use meaningful branch names: feature/, fix/, refactor/, etc.