GitHub: Project management

Along with issues, which are the place where developers get feedback from users, the GitHub interface offers other features aimed at helping project management.

One of those is Projects. It’s very new in the ecosystem and very rarely used, but it’s a kanban board that helps organizing issues and work that needs to be done.

The Wiki is intended to be used as a documentation for users. One of the most impressive usage of the Wiki I saw up to now is the Go Programming Language GitHub Wiki.

Another popular project management aid is milestones. Part of the issues page, you can assign issues to specific milestones, which could be release targets.

Speaking of releases, GitHub enhances the Git tag functionality by introducing releases.

A Git tag is a pointer to a specific commit, and if done consistently, helps you roll back to previous version of your code without referencing specific commits.

A GitHub release builds on top of Git tags and represents a complete release of your code, along with zip files, release notes and binary assets that might represent a fully working version of your code end product.

While a Git tag can be created programmatically (e.g. using the Command Line git program), creating a GitHub release is a manual process that happens through the GitHub UI. You basically tell GitHub to create a new release and tell them which tag you want to apply that release to.

Lessons this unit:

0: Introduction
1: GitHub issues
2: Social coding
3: Pull requests
4: ▶︎ Project management
5: Comparing changes
6: Webhooks and integrations
7: What happens after pushing
8: DEMO Create a GitHub account
9: DEMO Using GitHub desktop
10: DEMO Using Git in VS Code