Manage a workspace with Git
This article walks you through the following basic tasks in Microsoft Fabric’s Git integration tool:
It’s recommended to read the overview of Git integration before you begin.
Important
Microsoft Fabric is in preview.
Prerequisites
To integrate Git with your Microsoft Fabric workspace, you need to set up the following prerequisites in both Azure DevOps and Fabric.
Azure DevOps prerequisites
- An active Azure account registered to the same user that is using the Fabric workspace. Create a free account.
- Access to an existing repository.
Fabric prerequisites
To access the Git integration feature, you need one of the following:
- Power BI Premium license. Your Power BI premium license still works for all Power BI features.
- Fabric capacity. A Fabric capacity is required to use all supported Fabric items.
In addition, your organization’s administrator has to enable the Fabric switch. If this switch is disabled, contact your administrator.
Connect a workspace to an Azure repo
Only a workspace admin can connect a workspace to an Azure Repo, but once connected, anyone with permission can work in the workspace. If you're not an admin, ask your admin for help with connecting. To connect a workspace to an Azure Repo, follow these steps:
Sign into Power BI and navigate to the workspace you want to connect with.
Go to Workspace settings
Note
If you don't see the Workspace settings icon, select the ellipsis (three dots) then workspace settings.
Select Git integration. You’re automatically signed into the Azure Repos account registered to the Azure AD user signed into Fabric.
From the dropdown menu, specify the following details about the branch you want to connect to:
Note
You can only connect a workspace to one branch and one folder at a time.
- Organization
- Project
- Git repository
- Branch (Select an existing branch using the drop-down menu, or select + New Branch to create a new branch. You can only connect to one branch at a time.)
- Folder (Select an existing folder in the branch or enter a name to create a new folder. If you don’t select a folder, content will be created in the root folder. You can only connect to one folder at a time.)
Select Connect and sync.
During the initial sync, if either the workspace or Git branch is empty, content is copied from the nonempty location to the empty one. If both the workspace and Git branch have content, you’re asked which direction the sync should go. For more information on this initial sync, see Connect and sync.
After you connect, the Workspace displays information about source control that allows the user to view the connected branch, the status of each item in the branch and the time of the last sync.
To keep your workspace synced with the Git branch, commit any changes you make in the workspace to the Git branch, and update your workspace whenever anyone creates new commits to the Git branch.
Commit changes to git
Once you successfully connect to a Git folder, edit your workspace as usual. Any changes you save are saved in the workspace only. When you’re ready, you can commit your changes to the Git branch, or you can undo the changes and revert to the previous status. Read more about commits.
To commit your changes to the Git branch, follow these steps:
Go to the workspace.
Select the Source control icon. This icon shows the number of uncommitted changes.
Select the Changes tab of the Source control pane. A list appears with all the items you changed, and an icon indicating if the item is new
, modified
, conflict
, or deleted
.
Select the items you want to commit. To select all items, check the top box.
Add a comment in the box. If you don't add a comment, a default message is added automatically.
Select Commit.
After the changes are committed, the items that were committed are removed from the list, and the workspace will point to the new commit that it's synced to.
After the commit is completed successfully, the status of the selected items changes from Uncommitted to Synced.
Update workspace from Git
Whenever anyone commits a new change to the connected Git branch, a notification appears in the relevant workspace. Use the Source control pane to pull the latest changes, merges, or reverts into the workspace and update live items. Read more about updating.
To update a workspace, follow these steps:
- Go to the workspace.
- Select the Source control icon.
- Select the Updates tab of the Source control pane. A list appears with all the items that were changed in the branch since the last update.
- Select Update all.
After it updates successfully, the list of items is removed, and the workspace will point to the new commit that it's synced to.
After the update is completed successfully, the status of the items changes to Synced.
Disconnect a workspace from Git
Only a workspace admin can disconnect a workspace from an Azure Repo. If you’re not an admin, ask your admin for help with disconnecting. If you’re an admin and want to disconnect your repo, follow these steps:
Go to Workspace settings
Select Git integration
Select Disconnect workspace
Select Disconnect again to confirm.
Permissions
The actions you can take on a workspace depend on the permissions you have in both the workspace and Azure DevOps. For a more detailed discussion of permissions, see Permissions.
Considerations and limitations
During the Commit to Git process, the Fabric service deletes any files inside the item folder that aren't part of the item definition. Unrelated files not in an item folder are not deleted.
After you commit changes, you might notice some unexpected changes to the item that you didn't make. These changes are semantically insignificant and can happen for several reasons. For example:
Manually changing the item definition file. These changes are valid, but might be different than if done through the editors. For example, if you rename a dataset column in Git and import this change to the workspace, the next time you commit changes to the dataset, the bim file will register as changed and the modified column pushed to the back of the
columns
array. This is because the AS engine that generates the bim files pushes renamed columns to the end of the array. This change doesn't affect the way the item operates.Committing a file that uses CRLF line breaks. The service uses LF (line feed) line breaks. If you had item files in the Git repo with CRLF line breaks, when you commit from the service these files are changed to LF. For example, if you open a report in desktop, save the .pbip project and upload it to Git using CRLF.
If you're having trouble with these actions, make sure you understand the limitations of the Git integration feature.
Next steps
Feedback
Submit and view feedback for