GitHub is the largest code host on the planet with over 12.4 million repositories. Large or small, every repository comes with the same powerful tools. These tools are open to the community for public projects and secure for private projects.
A flexible issue tracker lets you stay on top of bugs and focus on features.
Your project's issues page can be as simple or as sophisticated as you like. Filter by open and closed issues, assignees, labels, and milestones. Sort by issue age, number of comments, and update time.
Labels are another way to organize your issues and can be customized with your own colors.
Milestones are great at helping everyone work towards a goal. Set a due date, name your milestone, then start grouping issues together.
Further streamline your workflow by closing issues right from your commit messages.
The syntax is basic: if you want to close issue #35, put
closes #35 somewhere in your commit message. Once the commit is in your default branch (usually master), the issue will be closed.
Anyone with write access to your repository may close an issue or leave a note.
Issues know all about commits and other issues. Type in a commit SHA or an issue number and it will automatically be linked.
Code review is an essential part of the GitHub workflow. After creating a branch and making one or more commits, a Pull Request starts the conversation around the proposed changes. Additional commits are commonly added based on feedback before merging the branch.
Pull Requests are living conversations that streamline the process of discussing, reviewing, and managing changes to code.
Each Pull Request takes into account not only what you would like pulled but also where you intend those changes to be applied. From there, your team can discuss the changes as a whole, individual parts, or even specific lines. Later commits addressing concerns or ideas appear as part of the conversation.
GitHub allows you and your teammates to have a detailed discussion about each and every commit that is pushed to your project. Should it be included? Was it done correctly? Should something else be added? Talk about each change to your code with everyone involved before releasing or incorporating them.
GitHub allows you to either comment on each commit as a whole, or click on any line and start a conversation on that individual line.
With GitHub you can easily and efficiently compare any two branches in your project or network. It shows what work is unique to a branch with respect to another branch — that is, if you were to merge the branches together, what changes would be applied?
The GitHub compare view shows a list of all the commits unique to a branch, the sum of all the files changed across all of those commits, and a unified diff of all of those changes. It clearly summarizes what the branch represents.
Whether you're running an open source project or a Fortune 500 company, organizations simplify team management.
With teams, you can give your developers as much or as little power as they need — from the ability to create projects on behalf of your organization to read-only access on existing projects.
Team members will receive a notification when mentioned.
Teams can be given read, read-write, or admin-level access to repositories.
Rather than dozens of buttons, we rely on the simplicity of GitHub Flavored Markdown for formatting text. The autocompleter makes quick work of mentioning people and teams, creating links to other issues, and adding the perfect Emoji.
Adding images is as simple as dragging and dropping from your desktop. For an even more distraction-free writing experience, you can use the fullscreen Zen Mode.
Our syntax highlighting currently supports over 200 programming languages. Data is as important to us as code, so we're always looking for new ways to render formats like STL 3D models, CSV files, and GeoJSON maps in the browser.
Native GitHub applications for Windows and Mac make sharing code simple. You can use them to clone repositories, create branches, browse history, and commit changes with a friendly interface. Our Android app and mobile web views let you keep track of your projects on the go.
If you prefer the command line or another native client, you can use those as well.