Goal 5 · Source Control

Azure DevOps & Fabric Git Integration ⭐ OPTIONAL

Connect the workspace you built today to an Azure DevOps Git repository so the Fabric items are version-controlled. You'll commit the current workspace state to a branch, make a change, commit it, and pull an update back into the workspace.

30 minutes (optional)
🎯 Goal: workspace under Git source control
🛠 Fabric Git integration · Azure DevOps (Azure Repos)
This module is optional. The lab is complete after Module 8. This track adds source control to the workspace and does not change any of the items you built. It is entirely portal-driven; no local Git client or command line is required.

Learning Objectives

How Fabric Git Integration Works

Git integration in Fabric operates at the workspace level. You connect a workspace to a single branch in a single repository folder. Items in the workspace are serialized to files in the repo, and the workspace folder structure is preserved in Git. Two actions keep the two sides in sync: Commit pushes workspace changes to the branch, and Update pulls branch changes into the workspace.

Action Direction Where
Connect & sync Establishes the link; copies content to whichever side is empty Workspace settings → Git integration
Commit Workspace → Git branch Source control panel → Changes
Update Git branch → Workspace Source control panel → Updates
Disconnect Removes the link (items stay in both places) Workspace settings → Git integration
Supported items. Most of what you built today is supported, including Lakehouse, Notebooks, Eventhouse, Eventstream, KQL Database, KQL Queryset, Real-Time Dashboard, Semantic model, Report, and Data Agents. Some item types are in preview. If the workspace contains an unsupported item, it is ignored - not saved, synced, or deleted - and you can't commit or update it.

Prerequisites

No Azure DevOps project yet? In dev.azure.com, create an organization and a project, then add an empty Git repository (for example urbanpulse-fabric). You'll point Fabric at that repository in Step 1.

Step 1 - Connect the Workspace to Azure DevOps WORKSPACE SETTINGS

  1. Open Git integration in workspace settings

    Open the workspace you built today. In the top-right of the workspace, open Workspace settings and select Git integration.

    For Git provider, choose Azure DevOps.

  2. Sign in and authorize

    Select Connect to sign in to the Azure Repos account registered to your Fabric user. If this is your first connection, choose Add account and authorize. When prompted, provide:

    • Display name - must be unique for your user.
    • Azure DevOps URL - in the format https://dev.azure.com/{organization}/{project}/_git/{repository}.
    • Authentication - OAuth2 (default) or a service principal.
  3. Select the branch and folder

    From the dropdowns, specify:

    • Organization and Project.
    • Git repository - for example urbanpulse-fabric.
    • Branch - select an existing branch or choose + New Branch (for example main). You connect to one branch at a time.
    • Folder - type an existing folder name or a new one (for example workspace). Leave blank to use the repository root. You connect to one folder at a time.

    Select Connect and sync.

    Initial sync direction. If one side is empty, content is copied from the non-empty side to the empty one. If both the workspace and the branch already have content, Fabric asks which direction to sync. For this lab the branch is empty, so the workspace items are written to Git.
  4. Read the source control status

    After connecting, the workspace shows the connected branch, the status of each item, and the time of the last sync. Items that are in sync show a Synced status.

Step 2 - Commit a Change SOURCE CONTROL

Edits you make in the workspace are saved to the workspace only until you commit them. This step makes a small, reversible change and commits it.

  1. Make a change to a tracked item

    Open the Silver notebook nb_urbanpulse_silver (from Module 4, Path A) and add a markdown cell at the top, for example a title and a one-line description. Save the notebook.

    If you didn't run Path A, edit any supported item instead - for example rename a tile on the Real-Time Dashboard from Module 5.

  2. Open the Source control panel

    Back in the workspace, select the Source control icon. The icon shows the number of uncommitted changes. Open the Changes tab to see the list of changed items, each marked as new, modified, conflict, same change, or deleted.

  3. Commit to the branch

    Select the item(s) you changed, add a commit comment (for example Add title cell to Silver notebook), and select Commit.

    After the commit completes, the items move out of the list and their status changes from Uncommitted to Synced.

Step 3 - Update the Workspace from Git SYNC BACK

When a new commit lands on the connected branch - from a teammate, or from an edit you make in Azure DevOps - the workspace shows that an update is available.

  1. Create a commit in Azure DevOps

    In dev.azure.com, open the connected repository and branch, edit a tracked file (for example a small text change in the notebook's .py source under your workspace folder), and commit it directly to the branch.

  2. Update all in Fabric

    Return to the workspace and open the Source control panel. On the Updates tab you'll see the items changed on the branch since the last sync. Select Update all, then confirm Update.

    After the update completes, the item status returns to Synced and the live item in the workspace reflects the change.

Step 4 - Disconnect OPTIONAL CLEANUP

Disconnecting removes the link between the workspace and the repository. The items stay in both the workspace and Git; nothing is deleted.

  1. Disconnect the workspace

    Open Workspace settingsGit integrationDisconnect workspace, then select Disconnect to confirm. Only a workspace admin can do this.

Why This Matters for a Software Vendor

Putting the workspace under source control gives a software vendor the same application lifecycle management it uses for code: a versioned history of the Fabric items, the ability to revert to a previous state, and a branch-per-change workflow for collaboration. Combined with deployment pipelines, the same committed definitions promote from development to test to production across customer tenants.

💡
Branch out to a new workspace. Fabric can create a new workspace from a branch, which is useful for isolated feature work. It requires the Create workspaces tenant setting. See the references below for the full branching workflow.

Validation

  • The workspace shows a connected Azure DevOps branch with a last-sync time.
  • Your committed change appears as a commit on the branch in Azure DevOps.
  • After an Update, the workspace item status reads Synced.

References