Welcome to the ThemisDB Git Flow Branching Strategy documentation! This index helps you find the right document for your needs.
Start here to understand the overall strategy:
-
BRANCHING_IMPLEMENTATION_SUMMARY.md ⭐ START HERE
- Overview of the entire branching strategy
- What has been implemented
- Quick reference to all documents
- Time: 5-10 minutes
-
- Visual diagrams and flowcharts
- Real-world examples
- Decision trees
- Time: 10-15 minutes
Choose based on your language preference:
-
- Complete strategy in German
- All workflows and processes
- Best practices and guidelines
- Time: 30-45 minutes
-
- Complete strategy in English
- All workflows and processes
- Best practices and guidelines
- Time: 30-45 minutes
For daily use and quick lookups:
- BRANCHING_QUICK_REF.md
- One-page cheat sheet
- Common commands
- Branch types and naming
- Print this for your desk! 📄
- Time: 2-3 minutes
For transitioning to the new strategy:
-
- Step-by-step migration instructions
- For maintainers and contributors
- Handling existing PRs
- Troubleshooting common issues
- Time: 15-20 minutes
-
- GitHub branch protection configuration
- CODEOWNERS setup
- Automated scripts
- Time: 10-15 minutes
-
- Migration to squash merge strategy
- Why we changed from merge commits
- Benefits and tradeoffs
- FAQ and best practices
- Time: 10-15 minutes
-
GITHUB_SETTINGS_CONFIGURATION.md 🆕
- Step-by-step GitHub repository settings
- Configure merge methods
- Required for repository administrators
- Time: 5-10 minutes
-
- One-page merge strategy reference
- When to squash vs merge commit
- For daily use
- Print this! 📄
- Time: 2-3 minutes
Updated guidelines for contributions:
- CONTRIBUTING.md
- How to contribute to ThemisDB
- Updated with branching strategy
- Code quality standards
- PR process
Documentation Structure
│
├── 🎯 Getting Started
│ ├── BRANCHING_IMPLEMENTATION_SUMMARY.md ← Overview
│ └── ci-cd/branching-release-history/BRANCHING_VISUAL_GUIDE.md ← Visual guide
│
├── 📖 Complete Guides
│ ├── BRANCHING_STRATEGY.md ← German
│ └── BRANCHING_STRATEGY_EN.md ← English
│
├── 🚀 Quick References
│ └── BRANCHING_QUICK_REF.md ← Cheat sheet
│
├── 🔧 Setup & Migration
│ ├── MIGRATION_GUIDE.md ← Transition guide
│ ├── BRANCH_PROTECTION_SETUP.md ← GitHub config
│ ├── MERGE_STRATEGY_MIGRATION.md ← Squash merge migration 🆕
│ ├── GITHUB_SETTINGS_CONFIGURATION.md ← GitHub settings 🆕
│ └── ci-cd/branching-release-history/MERGE_STRATEGY_QUICK_REF.md ← Merge quick ref 🆕
│
├── 🤝 Contributing
│ └── ../CONTRIBUTING.md ← Contribution guide
│
└── ⚙️ Configuration
├── ../.github/CODEOWNERS ← Code ownership
└── ../.github/workflows/develop-ci.yml.example ← CI example
First time contributing:
- Read: BRANCHING_IMPLEMENTATION_SUMMARY.md
- Review: BRANCHING_VISUAL_GUIDE.md
- Keep handy: BRANCHING_QUICK_REF.md
Daily work:
- Quick reference: BRANCHING_QUICK_REF.md
- Contributing guide: CONTRIBUTING.md
Initial setup:
- Read: BRANCHING_STRATEGY.md or BRANCHING_STRATEGY_EN.md
- Follow: MIGRATION_GUIDE.md (Maintainer section)
- Configure: BRANCH_PROTECTION_SETUP.md
Daily maintenance:
- Review PRs using: BRANCHING_QUICK_REF.md
- Enforce rules from: BRANCHING_STRATEGY.md
Getting started:
- Start: BRANCHING_IMPLEMENTATION_SUMMARY.md
- Understand: BRANCHING_VISUAL_GUIDE.md
- Contribute: CONTRIBUTING.md
- Print: BRANCHING_QUICK_REF.md
If you have open PRs:
- Follow: MIGRATION_GUIDE.md (Contributors section)
- Use commands from: BRANCHING_QUICK_REF.md
- Ask for help in GitHub Discussions if stuck
| Document | Length | Audience | Purpose | Print-Friendly |
|---|---|---|---|---|
| Implementation Summary | Medium | Everyone | Overview | ✅ |
| Visual Guide | Long | Visual learners | Understanding flows | ✅ |
| Strategy (DE/EN) | Long | Deep dive | Complete reference | |
| Quick Reference | Short | Daily use | Command reference | ✅ |
| Migration Guide | Medium | Transitioning | Step-by-step migration | ✅ |
| Branch Protection | Medium | Maintainers | GitHub setup | ✅ |
- Complete info: BRANCHING_STRATEGY.md → "Branch-Struktur"
- Quick ref: BRANCHING_QUICK_REF.md → "Branch Types"
- Visual: BRANCHING_VISUAL_GUIDE.md → "Branch Structure Overview"
- Commands: BRANCHING_QUICK_REF.md → "Start New Feature"
- Workflow: BRANCHING_STRATEGY.md → "feature/* Branches"
- Visual: BRANCHING_VISUAL_GUIDE.md → "New Feature Development"
- Complete: BRANCHING_STRATEGY.md → "Release Process"
- Steps: BRANCHING_QUICK_REF.md → "Start Release"
- Visual: BRANCHING_VISUAL_GUIDE.md → "Release Process"
- Complete: BRANCHING_STRATEGY.md → "hotfix/* Branches"
- Commands: BRANCHING_QUICK_REF.md → "Create Hotfix"
- Visual: BRANCHING_VISUAL_GUIDE.md → "Hotfix (Production Bug)"
- Guidelines: CONTRIBUTING.md → "Pull Request Process"
- Workflow: BRANCHING_STRATEGY.md → "Pull Request Workflows"
- Visual: BRANCHING_VISUAL_GUIDE.md → "Pull Request Flow"
- Complete guide: MERGE_STRATEGY_MIGRATION.md 🆕
- Quick reference: MERGE_STRATEGY_QUICK_REF.md 🆕
- GitHub setup: GITHUB_SETTINGS_CONFIGURATION.md 🆕
- Guidelines: CONTRIBUTING.md → "Merge Strategy Guidelines"
- Strategy docs: BRANCHING_STRATEGY.md → "Merge-Strategie"
- Setup: BRANCH_PROTECTION_SETUP.md
- Rules: BRANCHING_STRATEGY.md → "Branch Protection Rules"
- Full guide: MIGRATION_GUIDE.md
- Summary: BRANCHING_IMPLEMENTATION_SUMMARY.md → "Next Steps"
1. BRANCHING_IMPLEMENTATION_SUMMARY.md (10 min)
↓
2. BRANCHING_VISUAL_GUIDE.md (15 min)
↓
3. CONTRIBUTING.md (20 min)
↓
4. Practice: Create a test feature branch
↓
5. Keep: BRANCHING_QUICK_REF.md for reference
1. BRANCHING_STRATEGY.md or BRANCHING_STRATEGY_EN.md (45 min)
↓
2. BRANCH_PROTECTION_SETUP.md (15 min)
↓
3. MIGRATION_GUIDE.md (20 min)
↓
4. Practice: Complete workflow simulation
↓
5. Review: All example workflows
1. BRANCHING_STRATEGY.md (full read) (60 min)
↓
2. BRANCH_PROTECTION_SETUP.md (30 min)
↓
3. MIGRATION_GUIDE.md (maintainer sections) (30 min)
↓
4. Configure: Set up branch protection
↓
5. Test: Simulate complete release cycle
↓
6. Document: Any organization-specific additions
- README.md - Main project README with strategy links
- CONTRIBUTING.md - Contribution guidelines
- SECURITY.md - Security policy (related to hotfixes)
- CHANGELOG.md - Release history examples
- .github/CODEOWNERS - Code ownership configuration
- .github/workflows/develop-ci.yml.example - CI workflow example
- Git Flow Model - Original blog post by Vincent Driessen
- Semantic Versioning - Version numbering specification
- Conventional Commits - Commit message format
- GitHub Branch Protection
About the branching strategy:
- 💬 GitHub Discussions
- 🏷️ Label:
branching-strategy
About migrating PRs:
- 💬 GitHub Discussions
- 🏷️ Label:
branching-migration
General contribution questions:
- 💬 GitHub Discussions
- 📖 Read: CONTRIBUTING.md
Found errors in documentation:
- 🐛 Create an issue with label
documentation
| Date | Version | Changes |
|---|---|---|
| 2025-12-30 | 1.0 | Initial branching strategy documentation |
These documents should be reviewed:
- Quarterly - Check if strategy is working well
- After major releases - Update examples
- When feedback received - Improve clarity
We welcome feedback on this documentation!
- ✅ What worked well?
- ❌ What was confusing?
- 💡 What's missing?
- 📝 Suggestions for improvement?
Submit feedback:
- Open an issue with label
documentation - Comment in GitHub Discussions
Use this checklist when reading the documentation:
- Read implementation summary
- Review visual guide
- Read complete strategy (DE or EN)
- Print quick reference
- Bookmark this index
- Join GitHub Discussions
- Understand branch types
- Know which branch to target
- Familiar with PR process
- Know commit message format
- Aware of code quality checks
- Quick reference is easily accessible
- Know where to find specific workflows
- Understand troubleshooting steps
- Know where to ask questions
Always remember:
- ✅ Feature branches branch from
develop - ✅ PRs target
develop(notmain) - ✅ main branch is for releases only
- ✅ Hotfixes are urgent and go to
main+develop - ✅ Release branches prepare for production
| Need | Document | Section |
|---|---|---|
| 🎯 Overview | Implementation Summary | All |
| 📊 Visual Flow | Visual Guide | All |
| 📖 Complete Guide | Strategy (DE) or Strategy (EN) | All |
| ⚡ Quick Commands | Quick Reference | Common Commands |
| 🔄 Migrating | Migration Guide | For Contributors |
| 🛡️ Setup Protection | Branch Protection | Quick Setup |
| 🤝 Contributing | Contributing Guide | Development Workflow |
| 🔀 Merge Strategy | Merge Quick Ref | All |
| ⚙️ GitHub Settings | GitHub Config | All |
These documents are optimized for printing:
- BRANCHING_QUICK_REF.md - One page reference
- MERGE_STRATEGY_QUICK_REF.md - Merge strategy reference 🆕
- BRANCHING_VISUAL_GUIDE.md - Visual diagrams
- BRANCHING_IMPLEMENTATION_SUMMARY.md - Overview
To print:
- Open document in browser
- Press
Ctrl+P(Windows/Linux) orCmd+P(Mac) - Select "Save as PDF"
Last Updated: 2026-04-06
Maintainer: ThemisDB Documentation Team
Questions? Open a discussion
⭐ Tip: Bookmark this page! It's your central hub for all branching documentation.