In this blog post, we’ll explore how to implement version control for Power Platform solutions using Git in a development environment. Before we begin, ensure you subscribe to CRM Crate to remain informed about the latest developments in the Power Platform field.

Power Platform allows users to build apps, automate processes, and analyze data using tools like Power Apps, Power Automate, Power BI, etc. When working in different environments (like Development, Test, and Production), we use solutions to package and move components such as apps, flows, and tables. This makes it easier to manage changes and deployments across environments. Solutions can be either managed (used in Production) or unmanaged (used in Development).
However, one challenge is the lack of strong built-in version control, which makes it hard to track changes or roll back if needed. It would be very helpful if Power Platform had proper version control features—just like we have in software development—so teams can collaborate better, keep a history of changes, and ensure safer deployments.
Enabling Git Integration in Power Platform
With the latest public preview release, teams can now collaborate more efficiently thanks to built-in Git support. This feature bridges the gap between developers and non-developers, enabling them to contribute to solutions using familiar workflows. It simplifies project setup, speeds up development cycles, and brings essential capabilities like version history, change tracking, independent work streams, and easy rollback—all within a unified platform.

Dataverse tracks individual changes as teams build. Changes can be committed to a shared Azure DevOps Git repo, where they appear in readable formats. Developers can sync updates across multiple environments connected to the same branch, enabling isolated work and controlled sharing. Conflicts may arise if edits overlap, allowing users to choose which version to keep. When ready, teams can deploy using Power Platform Pipelines.
Prerequisites for Integrating Git with Dataverse
Below are the requirements for enabling version control using GIT Integration in Power Platform.
- To use Dataverse Git integration, your development environment must be set up as a Managed Environment.
- You need an Azure DevOps subscription and user licenses for anyone working with the source control.
- To connect Dataverse to Git, you need a Power Platform environment with Dataverse and a user who has the System Administrator role. This setup links your environment or solution to a project in Azure DevOps.
- To make changes and read files in Azure DevOps, you need the right permissions. Users in the “Contributors” group already have these permissions.
Integrating Dataverse with Git for streamlined version control
To connect your Dataverse environment with Git, link it to a project in Azure DevOps. You can do this by using either environment-level or solution-level linking.
Environment Linking
Environment binding links your entire Dataverse environment, including all unmanaged solutions and components, to a single Git repository and folder. Once bound, all customizations are stored in one branch and folder, with no need to configure individual solutions. Multiple solutions can now share a root folder, with component tracking handled separately. During setup, you choose the repository, branch, and folder for binding.
Solution Linking
Solution binding lets you link multiple solutions in the same environment to separate Git repositories or folders. It offers more flexibility in organizing source files but requires extra setup for each solution. Each component can only exist in one source location, so components can’t be shared across bound solutions. Unlike environment binding, solution binding doesn’t need a repository or folder at setup—you choose them when you’re ready to bind each solution.
Follow the steps below to integrate Git with Power Platform / Dataverse:
A. Sign in to Power Apps, then navigate to the Solutions area.
B. In the Solutions area, click on Connect to Git from the command bar, as illustrated in the image below.


C. Choose a connection type—either Environment or Solution—and then select your Azure DevOps organization and the associated project.
D. Based on the selected binding type, you can choose the appropriate project, repository, and branch. You may also specify a folder path to bind the environment or solution. Once all selections are made, click Connect to complete the integration.
Version Control handling operations using GIT repository
When you update components in a Dataverse solution, you can see those updates in the Solutions under ‘Source Control’ section of Power Apps (make.powerapps.com).
This area shows the changes you’ve made that aren’t yet part of a managed solution. The files you commit are like these “unmanaged” changes in your environment. Any parts that come from a managed solution won’t be included in the commit.
The source control screen shows a list of changes that you can commit (save) to source control. If you’ve made changes in another browser tab, click ‘Refresh’ to update the list. Click ‘Check for updates’ to see if there are any new changes in the source code repository or any conflicts you need to fix.
On this screen, you can also see which branch your solution is connected to. You’ll be able to view:
- Changes you’ve made that are ready to commit
- Changes from the source control that you can pull into your environment
- Conflicts caused by changes both in your environment and in the source code
If the system finds conflicts with your source code, they appear on the Conflicts tab. You must resolve these before committing changes.
To resolve a conflict, select the component and choose:
- Keep existing changes to keep your environment’s version (moves to Changes tab)
- Accept incoming changes to take the version from source control (moves to Updates tab)
This doesn’t make any changes right away—it just clears the conflict so your next pull or commit will work smoothly.
To bring in updates from source control, go to the Updates tab, review the changes, and click Pull. After that, close the screen and check if your app works as expected with the new updates.



GIT integration demo with Power Platform for version control
Now, we will walk through a comprehensive demo that demonstrates how to synchronize solution changes from the Power Platform to an Azure Git repository using a commit operation. Once the changes are successfully committed and pushed, we will then simulate a scenario where a component is modified directly within the Git repository. Following that, we will explore how to bring those changes back into the Power Platform environment by creating and processing a pull request, completing the round-trip development and deployment workflow.
In this scenario, we will add a new JavaScript web resource to our solution, named ‘CRMCrateJS’. Once the web resource is created, we will commit and push it to the Azure Git repository, as demonstrated below.


Next, we will verify the committed changes by viewing the updated file within the Azure DevOps repository.

Following this, we will simulate a direct modification to the JavaScript file within the repository and commit those changes.

Finally, we will synchronize the latest changes back into the Power Platform solution by initiating and completing a pull request, as illustrated below.

Thus, we have successfully explored the complete workflow of implementing version control in the Power Platform using Git integration. From committing solution changes to the repository, to modifying components directly in Git, and finally syncing those updates back into the Power Platform via pull requests — this end-to-end process ensures better collaboration, traceability, and control over solution development.