
Git Integration in Microsoft Fabric
Version control your Microsoft Fabric artifacts with Git integration. Manage notebooks, pipelines, and semantic models with Azure DevOps and GitHub.
Git integration in Microsoft Fabric brings professional source control to analytics development. By connecting Fabric workspaces to Azure DevOps or GitHub repositories, teams can version control notebooks, pipelines, semantic models, and other Fabric artifacts using the same Git workflows that software engineers rely on.
Why Git Integration Matters for Analytics
Without version control, analytics teams face common challenges:
- No change history: When a report breaks, there is no way to see what changed or roll back
- Overwrite risk: Multiple developers editing the same artifact can overwrite each other's work
- No code review: Changes go directly to production without peer review
- Environment inconsistency: Development and production environments drift apart with no way to synchronize
Git integration solves all of these by applying proven software engineering practices to analytics development.
Setting Up Git Integration
Step 1: Prepare Your Repository
Create a repository in Azure DevOps or GitHub. Organize with a clear folder structure:
- Use one branch per environment (main for production, develop for development)
- Create a .gitignore to exclude temporary and environment-specific files
- Set up branch protection rules requiring pull request reviews before merging to main
Step 2: Connect Your Workspace
In the Fabric workspace settings, navigate to Git integration and configure:
- Git provider: Choose Azure DevOps or GitHub
- Repository: Select or enter the repository URL
- Branch: Choose which branch this workspace syncs with
- Folder: Optionally specify a subfolder within the repository
Once connected, Fabric displays a Git status indicator showing sync state for each artifact.
Step 3: Sync and Commit
After connecting, you can:
- Commit: Push workspace changes to the Git repository. Each commit creates a snapshot of all modified artifacts
- Update: Pull the latest changes from Git into the workspace. This is how you deploy changes from one environment to another
- Compare: See differences between workspace state and Git state before committing
Supported Artifact Types
Not all Fabric items support Git integration equally. Current support includes:
| Artifact | Git Support | Notes | |----------|------------|-------| | Notebooks | Full | Code cells, markdown, outputs | | Data Pipelines | Full | Pipeline JSON definition | | Semantic Models | Full | Model metadata, measures, relationships | | Reports | Full | Report layout, visuals, configurations | | Lakehouses | Partial | Metadata only (data stays in OneLake) | | Warehouses | Partial | Schema definitions, stored procedures | | Dataflows Gen2 | Full | Transformation definitions | | Spark Job Definitions | Full | Job configurations |
Artifact data (actual rows in tables, files in Lakehouse) is NOT stored in Git. Git tracks the definitions and configurations, not the data itself.
Branching Strategy for Fabric
A practical branching strategy for Fabric analytics teams:
Development Branch: Connected to the development workspace. Data engineers and analysts commit changes here during active development. Changes are experimental and may break.
Main Branch: Connected to the production workspace. Only receives changes through approved pull requests from the development branch. This ensures all production changes are reviewed and tested.
Feature Branches: For significant changes (new data pipeline, major model redesign), create a feature branch. Developers work in isolation, then submit a pull request to merge back to development when ready.
Pull Request Workflow
Pull requests enable code review for analytics artifacts:
- Developer commits changes to the development branch
- Developer creates a pull request from development to main
- Reviewer examines the changes (DAX measures, pipeline logic, notebook code)
- Reviewer approves or requests changes
- After approval, changes merge to main
- Production workspace syncs from main, deploying the reviewed changes
This workflow catches errors before they reach production: mistyped DAX formulas, broken relationships, incorrect pipeline configurations.
Conflict Resolution
When multiple developers modify the same artifact, Git detects conflicts during pull requests. Fabric provides conflict resolution tools:
- Accept theirs: Use the incoming change
- Accept yours: Keep the current version
- Manual merge: For complex conflicts, resolve by editing the artifact definition
To minimize conflicts, establish clear ownership: assign specific notebooks, pipelines, or model areas to individual team members.
Best Practices
- Commit frequently: Small, focused commits are easier to review and roll back than large batches
- Write meaningful commit messages: Describe what changed and why, not just "updated notebook"
- Use branch protection: Require pull request reviews before merging to main
- Separate environments: Connect development, test, and production workspaces to different branches
- Do not store secrets: Never commit API keys, passwords, or connection strings to Git. Use Fabric environment variables instead
- Test before merging: Validate changes in the development workspace before creating pull requests
- Document conventions: Write a CONTRIBUTING guide explaining your team's branching strategy, naming conventions, and review process
Limitations to Be Aware Of
- Large semantic models with many measures can produce verbose diffs that are hard to review
- Some workspace settings (capacity, permissions) are not tracked in Git
- Initial sync for workspaces with many artifacts can take several minutes
- Git integration does not replace deployment pipelines for data movement between environments
Related Resources
Frequently Asked Questions
Which Git providers does Microsoft Fabric support?
Microsoft Fabric supports Azure DevOps (Azure Repos) and GitHub for Git integration. Both providers offer full functionality including branching, pull requests, and branch protection rules. Azure DevOps is more common in enterprise environments with existing Microsoft tooling, while GitHub is popular for teams using open-source workflows.
Does Git integration store my actual data in the repository?
No. Git integration stores artifact definitions and metadata (notebook code, pipeline configurations, semantic model schemas, report layouts) but not actual data. Your data remains in OneLake, warehouses, and other Fabric storage. This keeps repositories lightweight and avoids storing sensitive data in version control.
How do I handle environment-specific configurations between dev and production?
Use Fabric deployment pipelines alongside Git integration. Git manages code versioning and review, while deployment pipelines handle environment-specific configurations like connection strings, parameter values, and data source settings. Connect your dev workspace to a develop branch and production workspace to main, then use pull requests to promote reviewed changes.