At a high level, GitHub is a website and cloud-based service that helps developers store and manage their code, as well as track and control changes to their code. To understand exactly what GitHub is, you need to know two connected principles:
- Version control
In this article, we’ll first explain those two principles. Then, we’ll dig into more about GitHub and how you can actually use GitHub to work with WordPress and/or Kinsta.
What Is Version Control?
Version control helps developers track and manage changes to a software project’s code. As a software project grows, version control becomes essential. Take WordPress…
At this point, WordPress is a pretty big project. If a core developer wanted to work on one specific part of the WordPress codebase, it wouldn’t be safe or efficient to have them directly edit the “official” source code.
Instead, version control lets developers safely work through branching and merging.
With branching, a developer duplicates part of the source code (called the repository). The developer can then safely make changes to that part of the code without affecting the rest of the project.
Then, once the developer gets his or her part of the code working properly, he or she can merge that code back into the main source code to make it official.
All of these changes are then tracked and can be reverted if need be.
What Is Git?
Git is a specific open-source version control system created by Linus Torvalds in 2005.
Specifically, Git is a distributed version control system, which means that the entire codebase and history is available on every developer’s computer, which allows for easy branching and merging.
According to a Stack Overflow developer survey, over 87% of developers use Git.
So What Is GitHub, Then?
GitHub is a for-profit company that offers a cloud-based Git repository hosting service. Essentially, it makes it a lot easier for individuals and teams to use Git for version control and collaboration.
GitHub’s interface is user-friendly enough so even novice coders can take advantage of Git. Without GitHub, using Git generally requires a bit more technical savvy and use of the command line.
GitHub is so user-friendly, though, that some people even use GitHub to manage other types of projects – like writing books.
Additionally, anyone can sign up and host a public code repository for free, which makes GitHub especially popular with open-source projects.
As a company, GitHub makes money by selling hosted private code repositories, as well as other business-focused plans that make it easier for organizations to manage team members and security. We utilize Github extensively at Kinsta to manage and development internal projects.
Exploring The GitHub Interface
To give you a basic understanding of what the GitHub interface looks like, here’s the WordPress source code hosted at a GitHub repository:
From here, you can view the various branches that are being worked on, as well as when someone made a commit (this is kind of like “saving” a file). Depending on how a repository is set up, you also might be able to create your own branch and make your own commits there.
And once you made some changes, you could submit that code back to a branch by making a pull request. A pull request is basically asking the person in charge of the branch to include your code. And it also helps that person see exactly what you’ve changed in the code.
If you wanted to edit some or all of the WordPress source code on your own account on a more permanent basis, you could also fork it by clicking the Fork button (a fork is similar in concept to a branch, but a fork is more permanent):
How To Use Git And GitHub At Kinsta
Kinsta offers a Git client so that you can use SSH to pull down your own Git repository from GitHub (or other similar services).
If you’re interested in using Git or GitHub at Kinsta, please read this help article for full instructions.
Other Ways To Use Git And GitHub With WordPress
But there are also WordPress plugins that help you use Git with WordPress more directly.
For example, VersionPress aims to bring the power of Git to regular WordPress actions, like updating a post or installing a plugin. VersionPress adds version control for both your WordPress database and files.
WP Pusher is another Git-based plugin that lets you deploy themes and plugins directly from GitHub to your WordPress site.
How To Get Started With GitHub
To get started with GitHub: