Forum Discussion
How to organize a Version Control Strategy in Power BI using Azure DevOps
- 8 months ago
Hi Flo1,
here's a practical version control strategy for your Power BI workspace:
Branch Strategy:
Main branch: Production-ready reports only (what's in Workspace1) Feature branches: One per report or feature - feature/report-sales-dashboard, feature/report-inventory Development branch (optional): Staging area before merging to main
Workflow for developing reports:
- Create a feature branch from main: git checkout -b feature/new-sales-report
- Develop your report locally in Power BI Desktop
- Save as .pbix and commit to your feature branch
- Push to Azure DevOps: git push origin feature/new-sales-report
- Create a Pull Request to merge into main
- After approval, merge to main and sync to Power BI Service
To restore an older version of a single report:
- Find the version: In Azure DevOps, navigate to Repos → Commits → find the specific report's commit history
- Create a restore branch: git checkout -b restore/sales-report-v2 <commit-hash>
- Extract the specific .pbix file from that commit
- Upload manually to Power BI Service or commit to a new branch and merge
Best practices:
- Tag releases: Use Git tags for major versions: git tag v1.0-sales-report
- Commit granularly: One report per commit when possible, with clear messages: "Update Sales Report - added Q4 data"
- Separate .pbix files: Keep each report as a separate .pbix file in the repo for independent versioning
- Use .gitignore: Exclude temp files but keep .pbix files tracked
Feel free to check out also the MSFT docs for further options and hints: Git integration workspaces - Microsoft Fabric | Microsoft Learn
Best regards!
PS: If you find this post helpful consider leaving kudos or mark it as solution
Hi Flo1,
here's a practical version control strategy for your Power BI workspace:
Branch Strategy:
Main branch: Production-ready reports only (what's in Workspace1) Feature branches: One per report or feature - feature/report-sales-dashboard, feature/report-inventory Development branch (optional): Staging area before merging to main
Workflow for developing reports:
- Create a feature branch from main: git checkout -b feature/new-sales-report
- Develop your report locally in Power BI Desktop
- Save as .pbix and commit to your feature branch
- Push to Azure DevOps: git push origin feature/new-sales-report
- Create a Pull Request to merge into main
- After approval, merge to main and sync to Power BI Service
To restore an older version of a single report:
- Find the version: In Azure DevOps, navigate to Repos → Commits → find the specific report's commit history
- Create a restore branch: git checkout -b restore/sales-report-v2 <commit-hash>
- Extract the specific .pbix file from that commit
- Upload manually to Power BI Service or commit to a new branch and merge
Best practices:
- Tag releases: Use Git tags for major versions: git tag v1.0-sales-report
- Commit granularly: One report per commit when possible, with clear messages: "Update Sales Report - added Q4 data"
- Separate .pbix files: Keep each report as a separate .pbix file in the repo for independent versioning
- Use .gitignore: Exclude temp files but keep .pbix files tracked
Feel free to check out also the MSFT docs for further options and hints: Git integration workspaces - Microsoft Fabric | Microsoft Learn
Best regards!
PS: If you find this post helpful consider leaving kudos or mark it as solution