Git & GitHub Course
Git & GitHub
/
Advanced

Release Management

Definition

The process of managing, planning, scheduling, and controlling a software build through different stages and environments (Development, Staging, Production).

Explain Like I'm New

You don't just push code straight to the public. You push it to 'Development'. Then you move it to 'Staging' (a fake environment that looks exactly like the real website) so the QA team can test it. Finally, you 'Release' it to Production.

Real World Example

Creating a 'Release' on GitHub, attaching compiled `.exe` files, writing release notes, and notifying users that Version 2.0 is available.

Common Use Cases

  • •Enterprise software lifecycle
  • •Mobile App store submissions

Terminal Output

bash / terminal
/* How to create an official Release on GitHub: 1. Go to your repository main page. 2. On the right sidebar, click 'Releases'. 3. Click 'Draft a new release'. 4. Create a new Tag (e.g., v1.2.0). 5. Click 'Generate release notes' to auto-fill the description with all the Pull Requests merged since the last release. 6. Drag and drop any compiled assets (like an installer or PDF). 7. Click Publish! */

Interview Questions

basic

  • What GitHub feature allows you to attach compiled binaries (like a Windows `.exe` installer) to a specific version tag?

intermediate

  • What is Semantic Versioning (SemVer)?

Flash Cards

Question

Feature for binaries?

Click to reveal answer
Answer

GitHub Releases. You associate a Release with a Tag (like `v1.0`), write changelogs, and upload compiled assets.

Question

Semantic Versioning?

Click to reveal answer
Answer

A universal numbering system: `MAJOR.MINOR.PATCH` (e.g., `1.4.2`). Increment PATCH for bug fixes, MINOR for new features (backwards compatible), and MAJOR for massive breaking changes.