GitHub is a code housing platform that allows developers to store their projects and network with peers. This resource about GitHub covers why the platform matters, how developers use it, and more.
GitHub is one of the most popular repositories for developers to house their ongoing projects. However, this repository goes well beyond being a storage platform for developers.
With GitHub you can collaborate on projects and invite other programmers to work on your project from anywhere. GitHub works seamlessly with the command-line tool Git, wherein developers can easily check in and check out their projects. GitHub offers the same distributed version control and source code management features found in Git and even adds more to the mix with bug tracking, feature requests, task management, access control for your projects, and so on.
This cheat sheet is an easy way to get up to speed on GitHub. We'll update this guide periodically when news and tutorials about GitHub are released.
SEE: How to launch a successful developer career (TechRepublic Premium)
- What is GitHub? GitHub is a web-based version control code repository that seamlessly integrates with Git and allows developers around the world to easily collaborate on development projects.
- Why does GitHub matter? As of January 2020, GitHub reported having over 40 million users with more than 100 million repositories. Among those repositories, there are at least 28 million that are public. GitHub is the largest source code host in the world.
- Who does GitHub affect? GitHub affects developers of all types—from open source to proprietary and individuals to enterprise-level teams.
- When was GitHub released? Initial development began on GitHub in November 2007. GitHub was founded February 8, 2008, and launched April 10, 2008.
- How do I start using GitHub? Sign up for an account, install the necessary tools, create a repository and a branch, and start editing/collaborating on your code.
SEE: 10 ways to prevent developer burnout (free PDF) (TechRepublic)
What is GitHub?
To understand GitHub, you must first learn about Git, the command-line tool that was started by Linux creator Linus Torvalds to serve as a version control system for the Linux kernel. Git was originally developed in 2005 to replace BitKeeper. The Linux kernel community is vast, and maintaining commits to the kernel would be a massive challenge without a reliable version control system—hence, the need for Git. Since its creation, Git has perfectly served the Linux kernel community.
But the development community also needed a way to easily collaborate on projects and network with peers, and that is where GitHub comes in. GitHub brings Git to the web, which in turn brings it to everyone. With a GitHub account, you can submit your projects either by using the git command on Linux or by using the GitHub Desktop application on Windows and Mac. With either tool you can check out projects, work on them, and commit your changes for review.
GitHub's features include:
- seamless code review;
- small and large team collaboration;
- project management;
- integrated issue and bug tracking;
- graphical representation of branches (an environment where you can try out new ideas);
- enterprise accounts;
- force push timeline events;
- GitHub actions enable CI/CD automation;
- automatic vulnerability updates;
- GitHub desktop GUI client;
- GitHub extension for the Visual Studio IDE; and
- GitHub for mobile (both Android and iOS).
Although GitHub is the place for open source developers to collaborate on projects, closed-source developers worldwide use GitHub, too. In fact, companies including Google, Adobe, Twitter, Microsoft, and PayPal, as well as various government agencies in Australia, Argentina, Belgium, Canada, Finland, France, the US, and many more countries, use GitHub to great success.
One of the biggest success stories on GitHub is the Linux Kernel Community. As of this writing, the Linux kernel has over 950,000 commits, over 97,000 stars, and over 33,000 forks.
- GitHub to replace master with main starting in October: What developers need to know (TechRepublic)
- Microsoft's GitHub: CLI 1.0 is out, so you can now do GitHub tasks from the terminal (ZDNet)
Why does GitHub matter?
In the modern age of Software as a Service (SaaS), CI/CD, containers, and mobile devices, app development must progress rapidly. Thanks to the likes of GitHub, quick and painless app development is a reality, and that has resulted in a significant reliance on version control tools like Git and GitHub; in fact, GitHub is the largest community of open source developers in the world—with millions of projects now in development.
Consider this: GitHub serves the needs of some very large projects, including:
- Free Programming Books
- React Navite
Many development projects would never get off the ground without the ability to collaborate. And since collaboration doesn't always happen in the same geolocation, developers need the tools to enable the ability to work with their peers on projects—that is where GitHub comes in. Check out a project you need to work on, do your work, and check your work back in for review. How simple is that?
- Ebook: IT leader's guide to making DevOps work (TechRepublic Premium)
Who does GitHub affect?
The most obvious people to benefit from GitHub is developers. With the help of GitHub, developers gain all the benefits of a centralized version control system. Projects are stored in repositories in such a way that developers can push and pull their changes to and from the project. Commits are reviewed and, if acceptable, merged. There is no more efficient way to work on a development project.
As a side effect of that efficiency, businesses benefit by way of faster software development. And because code is peer reviewed in GitHub, that software should be (in theory) more reliable, which benefits end users.
Open source projects are deeply affected by GitHub. The code repository helps attract developers to more open source projects, and it makes project management much easier.
- GitHub sued for aiding hacking in Capital One breach (ZDNet)
- GitHub blocked developers in Iran, Syria and Crimea due to US sanctions (CNET)
- GitHub reveals how it handles US trade restrictions, after blocking UK developer (ZDNet)
When did GitHub development begin?
GitHub development began on October 1, 2007, and was quickly released as a beta (written in Ruby). In April 2008, GitHub officially launched, with Tom Preston-Werner, Chris Wanstrath, and PJ Hyett at the helm.
On February 24, 2009, a team of GitHub members announced that GitHub had already accumulated over 46,000 public repositories. By July 5, 2009, GitHub was being used by over 100,000 developers and had grown to over 90,000 public repositories. On June 2, 2011, it was announced that GitHub surpassed SourceForge and Google Code in number of commits (for the period of January to May 2011). In 2016, GitHub made the Forbes Cloud 100 list, ranking 14.
As of 2020, GitHub employs 1079 people and has over 40 million users.
In June 2018, Microsoft acquired GitHub. Considering Microsoft has been one of the biggest contributors to GitHub, this should come as no surprise (Microsoft even hosts its original file manager on GitHub). There has been some concern within the open source community as to what this will mean to GitHub going forward. Since Microsoft acquired GitHub, the user base has nearly doubled. Any doubts that users would migrate away from the platform have been set aside.
- GitHub awards researcher $18,000 for remote code execution flaw discovery (ZDNet)
- GitHub will now let you back your favourite open source developers (ZDNet)
Who are GitHub's competitors?
GitHub is not alone in the version control/developer collaboration business. Its competitors include:
How do I use GitHub?
With the tools in place, follow the standard steps for using GitHub.
- Create a local git repository.
- Add a new file to the repo.
- Add a file to the staging environment.
- Create a commit.
- Create a new branch.
- Create a new repository on GitHub.
- Push a branch to GitHub.
- Create a pull request.
- Merge a pull request.
- Get changes on GitHub back to your computer.
Once you get the hang of the process, you'll be submitting projects and collaborating on code like a pro.
- How to use Git: An introduction (TechRepublic)
- How to push a new project to GitHub (TechRepublic)
- How to set up a GitLab server and host your own Git repositories (TechRepublic)
- How to install the self-hosted Git server Gitea on Ubuntu 18.04 (TechRepublic)
Editor's note: This cheat sheet was updated to reflect new GitHub features and user information.