X++ in Git
Git is the modern standard for version control. It's also Microsoft's default version control system provider that's recommended for general development. X++ developers might be already familiar with the existing guidance to set up Team Foundation Version Control (TFVC) for X++, but many organizations are standardizing on Git. This article introduces the concept of X++ code management in Git and outlines key considerations for teams that want to use Git tools for X++ development.
Considerations and limitations
The following list describes known limitations and workarounds that are required to configure a Git repository (repo) for X++ and set up developer environments for X++ development via Git:
- Dynamics 365 Finance and Operations Tools are build tools that are offered exclusively as a Microsoft Azure DevOps extension. Therefore, for full continuous integration and continuous delivery (CI/CD) support, consider using Azure DevOps for your Git repo.
- More configuration steps are required to successfully map a Git version control system to the PackagesLocalDirectory directory in a development environment, as is also the case with TFVC. The Microsoft Developer blog documents one way to do this configuration.
- Dynamics Lifecycle Services checks for a TFVC repo during the deployment of build environments. Therefore, if your team uses build environments, you'll have to initialize a TFVC repo and connect to it from Lifecycle Services, even if you aren't actively using it for code management.
- Branching strategies in TFVC often differ from branching strategies in Git. Common Git-based branching strategies include trunk-based management and GitFlow or GitHub Flow. Learn more about branching strategies for X++ development.