The 16 Best Student Software Discounts
New for Our GitHub Integration: Automatically Make New Gists
Introducing Zapier Visual Identity
Remote Design: How Zapier Is Building a Distributed Design Culture
GitHub Updates: New Triggers for Reviews and Releases, Plus More Options for New Issue Trigger
Git Searching: Look up GitHub Repos, Pull Requests, and Issues
From Blog to Book: The Complete Guide to Writing, Editing and Publishing Your First eBook
How Successful Remote Teams Evaluate Employees
End Internal Emails: How Teams at GitHub, Treehouse, Automattic and Zapier Communicate
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