PowerBI is a self-service reporting tool that allows end-users to deliver elegant insight into data via interactive reports. It needs simple, transparent to the end user version control support. With Microsoft moving towards Git and their recent purchase of GitHub, built in Git makes the most sense.
Version control is essential for any developer regardless of level. Version control allows you to track changes. It’s highly unlikely you are going to ever develop a perfect solution, even if you are an expert, first time that isn’t going to require any changes. By tracking changes it allows you to quickly identify WHEN something has changed, WHAT has changed - as you can “diff” the old vs the new file and if you have added a useful commit message, WHY something has changed.
Git is a distributed version control system. This means there is no spoon. I mean there is no server. Every copy has everything and is equal. Because of this commits are performed locally and you “push” them to remote servers, this means you can develop offline then push when you are back online. Pushing basically means you have a backup and allows others to “clone” your work (permissions willing). Git has become the defacto code version control.
Here comes the problem which we are facing in Power BI Desktop creates PBIX or PBIT which are .zip binary files. This means you can’t “diff” the files, so you can’t track changes - you can’t see that you’ve changed the [Price] measure to [Price - Exc VAT]. In addition, because you can’t “diff”, you can’t merge changes - which you need to do if you have more then one developer working on a project. So if Dev-A changes [Price] to [Price - Exc VAT] and Dev-B adds [Price - Inc VAT] you can’t work independently then merge the two together. This limits Power BI development to a single developer.