- `main`
- `doc`
- `release`
- `feature/<feature-name>`
- `feature/<feature-name>`
- `feature/<feature-name>-<developer-name>`
- `feature/<feature-name>`
- `test/<test-name>`
- Main Branch (
main
)- Represents the stable version of the project.
- Code must undergo a pull request (PR) and pass code reviews.
- Only merges from:
release
doc
- Documentation Branch (
doc
)- Used exclusively for documentation.
- Cannot merge from any other branches.
- Release Branch (
release
)- Contains stable code ready for delivery.
- Code must undergo a pull request (PR) and pass code reviews.
- Only merges from
feature/*
branches.
- Feature Branches (
feature/*
)- Used for specific feature development.
- Developers pull the latest code from main or release as needed.
- Can be organized as:
feature/<feature-name>
feature/<feature-name>-<developer-name>
- Periodically merges into release.
- Test Branches (
test/*
)- Used for testing specific aspects of the project.
- Should not merge into any other branch but can receive merges.
protected branches:
main
,release
- GitHub Desktop: Preferred for beginners due to its user-friendly guidance.
- VSCode: Use the GitLens plugin for enhanced Git experience.
- SourceTree: An alternative option for managing Git operations.
Mandatory before merging into protected branches.
Frequently pull from the main or release branch to stay up-to-date.