What is GitHub?
GitHub is a platform for hosting Git repositories, reviewing code, tracking issues, and running automation.
Code hosting. Updated by DATAL Projects
- Made by
- GitHub, Inc., owned by Microsoft
- First released
- 2008
- License
- Proprietary service
- Type
- Code hosting and collaboration platform
- Runs on
- Web browser, desktop and mobile apps
- Official site
- github.com
What GitHub is
GitHub is a platform for hosting Git repositories, reviewing code, tracking issues, and running automation. It keeps every change to a project recorded and backed up, and lets clients see progress on their code.
GitHub launched in 2008, founded by Tom Preston-Werner, Chris Wanstrath, PJ Hyett and Scott Chacon. Git was already popular with some developers but was hard to share and review code with. GitHub gave Git a friendly website and introduced the pull request as a way to propose and discuss changes.
It quickly became the main home for open source projects. Microsoft bought GitHub in 2018 and has kept it running as a separate platform. GitHub Actions for automation became generally available in 2019, the same year that free accounts gained unlimited private repositories.
How GitHub works
GitHub stores Git repositories on its servers. A repository, or repo, holds a project's files and its full history. You work on a copy on your own computer, then push your commits to GitHub so they are backed up and visible to your team. Others pull those changes to stay up to date.
Teamwork happens through pull requests. You make changes on a branch, open a pull request, and teammates review the code line by line, leave comments and approve it before it is merged into the main branch. Issues track bugs and tasks, and a fork is your own copy of someone else's repository, which is how people contribute to open source.
GitHub Actions runs workflows when something happens in a repo, such as a push. A workflow can run tests, build the project and deploy it. This practice is known as CI/CD, short for continuous integration and continuous delivery.
Key features of GitHub
Repository hosting
Public and private Git repositories with a web view of files, history and branches. Access can be set per person or per team.
Pull requests
Proposed changes are shown as a diff that reviewers can comment on and approve. Checks can be required before merging.
Issues and projects
Issues record bugs, ideas and tasks. Project boards group them into a plan the whole team can follow.
GitHub Actions
Automated workflows run tests, builds and deployments in response to events. Many ready-made actions are available to reuse.
GitHub Pages
Static websites can be published straight from a repository. It is often used for documentation and personal sites.
Security tools
Features such as dependency alerts and secret scanning warn about known vulnerabilities and leaked keys in a repository.
When to use GitHub
A good choice for
- Hosting and backing up source code for any size of project
- Team code review through pull requests
- Open source projects that want contributors
- Automating tests and deployments
- Building a public portfolio of your work
Pick something else when
- Storing very large binary files such as raw video or big game assets without extra tooling
- Organizations that must keep all code on their own servers and do not want an enterprise plan
- Use as a general file sharing or backup drive for non-code documents
GitHub compared with alternatives
GitHub vs Git
Git is the version control tool that runs on your computer. GitHub is a website that hosts Git repositories and adds review, issue tracking and automation. You can use Git without GitHub, but not GitHub without Git.
GitHub vs GitLab
GitLab offers similar hosting with built-in CI/CD and a strong focus on a single tool for the whole development process. It has an open source edition that companies can run on their own servers. GitHub has the larger community and is where most open source projects live.
GitHub vs Bitbucket
Bitbucket is the code hosting service from Atlassian and links closely with Jira and other Atlassian tools. It is common in companies that already use those products. GitHub is more widely used across the industry and in open source.
How to start learning GitHub
- 01Learn basic Git first: commit, branch, push and pull.
- 02Create a free account at github.com and make your first repository with a README file.
- 03Clone the repository to your computer, change a file, commit it and push it back.
- 04Create a branch, open a pull request and merge it, following the Hello World guide in the official GitHub docs.
- 05Add a simple GitHub Actions workflow that runs your tests or a lint check on every push.
What GitHub costs
GitHub has a free plan with unlimited public and private repositories, which covers most individuals and small teams. Paid plans add more automation minutes, storage, access controls and enterprise features. Check the official pricing page for current plans.
How DATAL Projects uses GitHub
GitHub is part of our software development work in the Philippines. Common uses:
- Hosting project source code
- Code review
- Automated builds and tests with GitHub Actions
Common questions about GitHub
What is GitHub used for?
GitHub is used to store code online, work on it with other people and track changes over time. Teams also use it to review code, manage tasks and run automated tests and deployments.
Is GitHub free?
Yes, the free plan includes unlimited public and private repositories. Paid plans exist for teams and companies that need more features and higher usage limits.
Git vs GitHub: what is the difference?
Git is free software on your computer that records changes to files. GitHub is an online service that hosts Git repositories and adds tools for collaboration. Git is the tool and GitHub is one place to use it with others.
Is GitHub owned by Microsoft?
Yes. Microsoft bought GitHub in 2018. It continues to work with any programming language, operating system and cloud provider.
Is GitHub hard to learn?
The website itself is easy to use. Most of the learning is really about Git, and once you understand commits and branches the rest of GitHub follows naturally.
Need a project built with GitHub?
Tell us what you need. We reply with a scope, a price, and a timeline.
Start a Project
