Skip to content

Latest commit

 

History

History
97 lines (73 loc) · 2.73 KB

File metadata and controls

97 lines (73 loc) · 2.73 KB

Gitflow Workflow

EF projects use a lightweight Gitflow workflow to keep active development, hotfixes, and production-ready code separated.

Branches

Permanent Branches

  • prod: production-ready code. Approved staging work and hotfix branches are merged into prod.
  • staging: integration branch for completed work that is ready for the next production update.

Temporary Branches

  • feature/<issue-number>-<short-description>: new features, improvements, and most routine work. Branch from staging and merge back into staging.
  • bugfix/<issue-number>-<short-description>: non-urgent fixes found during development. Branch from staging and merge back into staging.
  • hotfix/<issue-number>-<short-description>: urgent production fixes. Branch from prod, then merge into both prod and staging.
  • docs/<short-description>: documentation-only changes. Branch from staging unless the documentation fix must go directly into a production or hotfix.

Use lowercase branch names with hyphens between words.

Examples:

git switch staging
git pull origin staging
git switch -c feature/123-add-mentor-search
git switch staging
git pull origin staging
git switch -c bugfix/124-fix-profile-save-error
git switch staging
git pull origin staging
git switch -c docs/update-contribution-guide
git switch prod
git pull origin prod
git switch -c hotfix/456-fix-login-redirect

Standard Work

  1. Pick or create a GitHub Issue.
  2. Make sure the issue has an owner, project, milestone when applicable, and clear acceptance criteria.
  3. Create a branch from staging.
  4. Commit focused changes to that branch.
  5. Push the branch and open a pull request into staging.
  6. Link the pull request to the issue.
  7. Request review and keep the pull request updated until it is approved.
  8. Merge after required checks and approvals pass.

Production Tags

When staging is ready for production, open a pull request from staging into prod. After approval, checks, and merge, create a release tag on prod.

Example:

git switch prod
git pull origin prod
git tag v2026.07.0
git push origin v2026.07.0

Hotfixes

Use hotfix branches only for urgent production issues.

  1. Create a GitHub Issue describing the production problem.
  2. Create hotfix/<issue-number>-<short-description> from prod.
  3. Open a pull request into prod.
  4. After approval and checks, merge into prod and deploy.
  5. Merge prod back into staging.

Pull Request Targets

  • Feature, bugfix, and routine docs branches target staging.
  • Production updates target prod from staging.
  • Hotfix branches target prod, then merge back into staging.

Do not commit directly to prod or staging.