1 Git Workflow
Jan K9f edited this page 2025-06-04 09:36:55 +02:00

Git Workflow

This page outlines the Git workflow used for the Casino project.

Branching Strategy

We follow a modified Git Flow strategy:

  • main: Production-ready code
  • develop: Integration branch for features
  • feature/*: Feature branches
  • bugfix/*: Bug fix branches
  • release/*: Release preparation branches
  • hotfix/*: Urgent fixes for production

Creating a New Feature

# Start from develop branch
git checkout develop
git pull

# Create a new feature branch
git checkout -b feature/new-feature-name

Commit Guidelines

Follow conventional commits pattern:

<type>(<scope>): <description>

[optional body]

[optional footer]

Types:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code
  • refactor: Code change that neither fixes a bug nor adds a feature
  • test: Adding or modifying tests
  • chore: Changes to the build process or auxiliary tools

Example:

feat(auth): add keycloak integration

Implements Keycloak authentication for user management.

Closes #123

Pull Requests

  1. Push your branch to the remote repository
  2. Create a pull request to the develop branch
  3. Request reviews from at least two team members
  4. Address review comments
  5. Merge only when all checks pass

Code Review Checklist

  • Does the code follow our Coding-Standards?
  • Are there sufficient tests?
  • Is the documentation updated?
  • Do all CI checks pass?
  • Does the implementation match the requirements?

Merge Strategy

We use squash merging for feature branches to keep the history clean:

# Squash merge a feature branch to develop
git checkout develop
git merge --squash feature/new-feature
git commit -m "feat(component): add new feature"