Welcome to the CRM project!
To ensure smooth collaboration and clean deployment, follow this Git workflow strictly.
Branch
Purpose
main
🔴 LIVE branch – only the project owner will push here.
production
🟡 Staging branch – all PRs go here and are tested.
dashboard
🟢 Development for dashboard features.
mainpage
🟢 Development for main page features.
feature/*
🔧 Feature branches created from dev branches.
Developer
Assigned Branch
Dev 1
mainpage
Dev 2
dashboard
Before writing any code, pull the latest changes:
git checkout your-branch-name
git pull origin your-branch-name
Example:
git checkout dashboard-dev
git pull origin dashboard-dev
Never work directly on dev branches. Create a new feature branch:
git checkout -b feature/your-feature-name
Examples:
feature/login-formfeature/navbar-fixfeature/mainpage-ui
git add .
git commit -m "Add: implemented login form"
git push origin feature/your-feature-name
Once your feature is done:
- Go to GitHub.
- Open a Pull Request from
feature/your-feature-name→production. - Use a clear title and description.
- Request a review from a teammate.
✅ All PRs must target the production branch.
The production branch is your staging environment.
- Once your PR is merged into
production, test it thoroughly. - Make sure nothing breaks.
- Ensure the UI and features work as expected.
When all features in production are tested and confirmed:
- The project owner will merge
production→main. - This triggers deployment to live users.
main directly.
- ✅ Always pull before working:
git pull origin your-branch - ❌ Never work directly on dev branches – use feature branches.
- ✅ Create PRs to
production, never tomain. - ❌ Do not push directly to
main. - 🧪 Test before requesting a merge.
- 📄 Use clear commit messages.
- 🧼 Avoid test data, logs, or unused code.
- Code runs and builds correctly.
- No errors or console warnings.
- UI is responsive and tested.
- Code is reviewed and approved.
- No test data or debug logs.
- PR title and description are clear.