GitHub - Features, Pricing, Alternatives, and More
All you need to code is a text editor. Open Notepad, Text Edit, or Vim in Terminal, and type away.
That'd get the job done, but it'd be lacking. A full-featured code editor might highlight syntax auto-complete common code, but it, too, wouldn't have everything you need to maintain a software project, track issues, merge changes from multiple team members, and more.
The version control system Git was designed for just this. It gives you a command line tool that can track and merge changes in code. GitHub took that, turned it into an online service, and added features that make it into a simple tool for publishing code publicly and collaborating with teams on software projects of any size.
It all starts out with Git. If you're already using Git or Subversion to track changes in your code, you're ready to use GitHub. You can push your code to GitHub, and start tracking changes globally from any browser. Or, you can download the GitHub desktop apps for a simple, non-command line way to start new projects and track changes in code.
From the web or GitHub's desktop apps, you can then track issues, submit changes, track milestones and more with your team. Add comments to discuss the changes with your team, and you can mention team members or entire teams to make sure everyone knows when to join in. GitHub will highlight the changes to code, and give you a markdown-powered writing experience with drag-and-drop image uploads and simple emoji shortcuts. It'll even highlight code correctly for over 200 programming languages, including 3D models, spreadsheet files, HTML code and much more.
Open Source projects can be kept open, so anyone can view and contribute, while private projects get the same features but are only visible when you're signed in. Your team can use GitHub to manage your projects, pull in customized versions of open source code, and share your own open source libraries and tools with the world all in one place.
Or, you could share just individual code snippets in GitHub with Gists. Even without a GitHub account, you can share code with GitHub's Gists, then use a GitHub account to comment or add changes to the Gist as a simple way to share and collaborate on code without a full new project. Or, you can use GitHub's markdown support to publish simple websites with GitHub Pages, using GitHub's same version tracking to keep up with changes to your site, as an easy way to publish documentation.
For modern development teams—or anyone looking to share code and text online—GitHub includes everything you need to start your project, track changes, and collaborate with others on shipping the next big thing. It's now part of Microsoft's family of developer tools, part of the ecosystem where you could developer in Visual Studio Code, host your code in GitHub, and deploy your new app in Microsoft Azure—or, use any other tools you want with GitHub, as its open design helps it fit into any development workflow.
→ Learn how to use Git with GitHub's tryGit including a Git handbook and an interactive online Git terminal.
Originally published January 25, 2018; updated June 13, 2018 with new details
Do More With GitHub
- Host code online, push changes via Git, and collaborate on it with your team
- Track changes in text and code collaboratively
- Propose changes and review requests
- Split code into branches, and merge them after status checks
- Add tasks and milestones to manage your full project, with notes about your work in a built-in wiki
- Pages to quickly publish Markdown-powered sites for an easy way to share documentation
- Mac and Windows apps available
- Free for unlimited public repositories
- $7/month Developer plan for unlimited private repositories and collaborators
- $25/month Team plan for organization account with 5 users (additional users $9/month), unlimited public and private repositories, and team plus user permissions
- $21/month per user Business plan with single sign-on, self-hosted option, access provisioning, 8-hour support response time, and 99.95% uptime SLA when hosted on GitHub