Version Control & Development Workflow
Guide
JLR AI Benchmarking Dashboard
Version 1.0 – July 2025
1. Purpose
This document defines the Git version control strategy, branch management policy, and team
workflow guidelines for the JLR-AI-Benchmark-Prediction project.
2. Repository
GitHub URL: https://github.com/Parth-Parakhiya/JLR-AI-Benchmark-Prediction
3. Branching Strategy
The project uses a simplified variant of GitFlow.
Main Branches
• main – Always reflects production-ready code.
• dev – Active development and feature integration.
Supporting Branches
• feature/<name> – New features (e.g., feature/nn-model)
• bugfix/<name> – Minor fixes or patches
• hotfix/<name> – Urgent fixes to main
• docs/<section> – Documentation updates (optional)
4. Commit Message Guidelines
Use clear and structured commit messages:
• Format: [type]: short message
• Example: feat: add GPT-2 model predictor
Common Types
• feat – New feature
• fix – Bug fix
• docs – Documentation changes
• style – Formatting, missing semicolons, etc.
• refactor – Code restructuring (no behavior change)
• test – Adding or modifying tests
• chore – Build or tooling changes
5. Pull Request (PR) Workflow
1. Fork or clone the repo and create a new branch from dev.
2. Implement the feature or fix.
3. Ensure all changes pass:
• pytest for unit tests
• black or flake8 for formatting
4. Push your branch:
git push origin feature/my-feature
5. Open a PR to merge into dev, not main.
6. Assign reviewers and write a clear PR title and description.
7. Once approved, the maintainer merges to main when stable.
6. Release Tagging
Use annotated tags for production-ready versions:
git tag -a v1.0.0 -m "Initial release"
git push origin v1.0.0
Versioning follows Semantic Versioning (SemVer): MAJOR.MINOR.PATCH (e.g., 1.0.0)
7. Collaboration Rules
• Always branch off from dev, never from main.
• Never commit directly to main.
• Every commit should represent a functional or isolated change.
• All changes must be peer reviewed before merging.
• Resolve merge conflicts before submitting PRs.
8. Useful Git Commands
# Create a new branch
git checkout -b feature/gpu-parser
# Stage and commit
git add .
git commit -m "feat: add GPU parsing logic"
# Push to origin
git push origin feature/gpu-parser
# Fetch and rebase
git pull origin dev --rebase
# Merge to dev
git checkout dev
git merge feature/gpu-parser
9. Recommended Tools
• GitHub Desktop – For GUI users
• GitKraken, SourceTree – Graphical Git tools
• GitHub Projects – For task and sprint management
10. Contributor Contact
• Maintainer: Parth Parakhiya
• Email: parakhi@uwindsor.ca