Skip to content

Git Flow

Kevin Serrano edited this page Mar 5, 2024 · 7 revisions

Set of traffic rules for managing how multiple people work together on a software project. It helps everyone know when and where they can "drive" their changes into the project without causing crashes (i.e., conflicts or issues).

Branches

Think of a branch as a parallel universe for your project where you can develop features, fix bugs, or experiment with new ideas without affecting the main project's stability.

🏆 main

Where the final product lives, always in a ready-to-use state.

🚧 develop branch

Where all the work in progress gathers and gets tested together.

image

🧪 feature/feature_name

Individual paths where each person works on their new features, away from the main traffic, until their work is ready to merge into the development lane.

🚀 release/vX.X.X

Short stretches where final adjustments are made before merging into the main and development lanes.

image

🌶️ hotfix/hotfix_name

Quick paths to fix any sudden problems on the main lane, which are then merged back to keep everything running smoothly.

image

📜 [Suggested] Roadmap for working on user story or task

  • Before starting to code, find a partner to define tests for the given task
  • Create a branch for the given task
  • Create a Pull Request when code is ready to be reviewed
  • Find someone to review your code
    • Tests must also be reviewed
  • Discuss any proposed changes
  • Document changes in wiki
  • Merge Pull Request into develop branch

Additional Resources: