Version control enables developers to store and track changes made to source code. Code can be changed or reverted (undone) on multiple parallel branches. Metadata about changes—timestamp, author, etc.—is stored as well. Branches and tagging allow for different versions of an application to be released when ready in a continuous manner. Git is currently the most widely-adopted software version control tool, and is commonly used by developers within the WordPress and Drupal community.
Pantheon does not require an external repository, as Git is fully implemented for each site. However, more complex use cases are very common, and it’s easy to integrate with managed code repositories—for example, to have a canonical codebase where changes are pulled into Pantheon. No matter how simple or complex your development workflow, we follow established best practices in code management and can accommodate various different approaches.
GitHub is a platform that offers creation and hosting of public and private Git repositories. GitHub provides features for submitting and integrating changes, and also provides team access control management. Its pull request-based workflow is a common team development methodology. It provides basic metrics regarding repository usage and also provides simple hosting via its GitHub Pages feature.
Pantheon provides a fully functioning code repository for each site, allowing complete control of your Drupal or WordPress code. However, you can integrate with GitHub, using either our, or GitHub’s repository, as the canonical source for a site's codebase.
Bitbucket is well-known option for repository hosting, with many of the same features as GitHub. Bitbucket’s pricing model is tied to users, whereas GitHub’s pricing is based on private repositories. Bitbucket also uses Git, although it works with Mercurial, another version control system, as well. Because it is an Atlassian product, its integration with the rest of the Atlassian product suite is well supported.
Again, while Pantheon provides a Git repository for every Drupal or WordPress site, you can use Bitbucket as either your origin codeserver and pull your code into the Pantheon repository, or use Bitbucket as a remote repository.
GitLab is an open source, integrated suite of development tools that can be installed and hosted on an organization’s internal servers. It incorporates a GitHub-like platform for version control as well as tools for continuous integration, issue tracking, chat, and more.
GitLab, integrated with Pantheon, can use Pantheon’s Dev and Multidev environments as target environments for Drupal and WordPress development. Once deployed to Pantheon, they can be scripted to deploy to production.