GitHub
GitHub: Overview
-
GitHub is a web-based Git repository hosting service
-
GitHub offers all of the distributed revision control and source code management (SCM) functionality of Git as well as adding its own features
-
GitHub provides a web-based graphical interface and desktop as well as mobile integration
-
GitHub is used by individuals and enterprises to host software projects
-
GitHub is the largest code host in the world
- The main features of GitHub are
-
Issues, Pull Requests, Projects, Actions
GitHub Issues
-
GitHub Issues are a great way to keep track of tasks, enhancements, and bugs for your projects.
-
They’re kind of like email—except they can be shared and discussed with the rest of your team.
-
Most software projects have a bug tracker of some kind. GitHub’s tracker is called Issues, and has its own section in every repository.
-
Issues can act as more than just a place to report software bugs. They’re great for tracking ideas and enhancements, tasks, or even a place to discuss ongoing development.
-
Issues are easy to create. Within a repository, click the Issues tab, then the big green New Issue button.
-
You’ll then see the issue editor page
more information > guides.github.com ! |
Labels
-
Labels are a great way to organize different types of issues. For example, you could use labels to tag issues as bugs, features, or questions.
-
You can apply multiple labels to each issue. For example, if a feature request also happens to be a question, you can apply both the
question
andenhancement
labels. -
You can filter issues based on their labels. For example, you can filter the issues in the above screenshot by clicking the
enhancement
label underneath the Labels heading on the right. -
You can also filter issues based on multiple labels. For example, you can filter the issues in the above screenshot by clicking the
enhancement
andquestion
labels underneath the Labels heading on the right.
more information > guides.github.com ! |
Milestones
-
Milestones are groups of issues that correspond to a project, feature, or time period.
-
People use them in many different ways. Some plan releases around them, while others use them to track the progress of a feature or project.
-
Milestones are like issues: they have titles and descriptions, and can be assigned to a user. Here’s an example of a milestone that’s tracking the progress of a feature:
-
Milestones are only available on repositories that have them enabled.
more information > guides.github.com ! |
Assignees
-
Assignees are the GitHub users who are responsible for working on the issue.
-
Assignees are selected the same way as labels. Start typing a username, then click their name once it appears to select them.
-
You can assign multiple people to an issue. For example, if you’re working on a feature with another user, you can assign both of yourselves to the issue.
-
You can also assign people who aren’t collaborators on the repository. For example, if you’re working on a feature with a designer, you can assign them to the issue even if they don’t have push access to the repository.
-
Assignees are a great way to clarify who’s responsible for what. They’re also used to filter issues based on who’s working on them.
Mentions
-
You can mention a person or team on GitHub by typing @ plus their username or team name. This will trigger a notification and bring their attention to the conversation.
-
You can also mention teams within an organization. For example, you can mention the @github/owners team within the GitHub organization.
-
Mentions are a great way to get feedback from specific people or teams, draw attention to potential problems, or ask for help.
GitHub Pull Requests
-
Pull Requests are the heart of collaboration on GitHub.
-
When you open a pull request, you’re proposing your changes and requesting that someone review and pull in your contribution and merge them into their branch.
-
Pull requests show diffs, or differences, of the content from both branches. The changes, additions, and subtractions are shown in green and red.
-
As soon as you make a commit, you can open a pull request and start a discussion, even before the code is finished.
-
You can even open pull requests in your own repository and merge them yourself. It’s a great way to learn the GitHub Flow before working on larger projects.
more information > guides.github.com ! |
GitHub Project
-
GitHub Projects help you organize and prioritize your work.
-
You can create Project boards for specific feature work, comprehensive roadmaps, or even release checklists.
-
With Projects, you have the flexibility to create customized workflows that suit your needs.
-
Projects are made up of issues, pull requests, and notes that are categorized as cards in columns of your choosing. You can drag and drop or use keyboard shortcuts to reorder cards within a column, move cards from column to column, and change the order of columns.
-
You can also filter the cards displayed on your project board by label, assignee, and milestone.
-
You can create as many project boards as you want within an organization or repository.
more information > docs.github.com ! |
Planning
-
Create issues (tasks),
-
Break them into tasks,
-
Track relationships,
-
Add/use custom fields,
-
And have conversations.
Visualize large projects as spreadsheets or boards, and automate everything with code.

Table vs Board Views
-
Built like a spreadsheet, project tables give a live workspace to filter, sort, and group issues and pull requests.
-
We can tailor them to your needs with custom fields and saved views.
-
Boards can display group issues using custom fields (e.g. Status)
-
We can drag and drop issues between columns to change their status.
-
Built like a spreadsheet, project tables give a live workspace to filter, sort, and group issues and pull requests.
-
We can tailor them to your needs with custom fields and saved views.
-
boards can display group issues using custom fields (e.g. Status)

Roadmap
-
Roadmaps help you plan and communicate the big picture.
-
They’re built from issues and pull requests, so you can organize work the way you want.
-
Roadmaps are a great way to communicate your team’s plans and progress to stakeholders.

Break issues into actionable tasks
-
Tackle complex issues with task lists
-
track their status with new progressindicators.
-
Convert tasks into their own issues
-
navigate your work hierarchy.



Conversations
-
Move conversations forward
-
Express ideas with GitHub Flavored Markdown,
-
mention contributors,
-
react with emoji,
-
clarify with attachments(videos, pdf, images…),
-
see references from commits, pull requests, releases, and deploys.
-
Coordinate by assigning contributors and teams,
-
or by adding them to milestones and projects.
