Font size
  • A-
  • A
  • A+
Site color
  • R
  • A
  • A
  • A
Skip to main content
Skill-Wanderer Dojo
  • Home
  • More
You are currently using guest access
Log in & Register
Skill-Wanderer Dojo
Home
Expand all Collapse all

Assignment: Practical Git Branching & Release Workflow (Using GitHub Desktop)

  1. Programming
  2. Programming Fundemental
  3. Mastering Git & GitHub
  4. Assignment: Practical Git Branching & Release Workflow
  5. Assignment: Practical Git Branching & Release Workflow (Using GitHub Desktop)
Completion requirements
Opened: Tuesday, 4 November 2025, 12:00 AM

🎯 Objective

Demonstrate your ability to manage a real-world Git branching workflow using GitHub Desktop — including branching, merging, rollback, hotfix, cherry-pick, and selective demo deployment.


🧰 Tools Required

  • GitHub Desktop (main tool) 👉Download here

  • A GitHub account to host your repository

  • (Optional) Git CLI for log inspection (git log --oneline --graph --all)


🧱 Part 1: Repository Setup

  1. Create a new GitHub repository and clone it locally with GitHub Desktop.

  2. In GitHub Desktop, create these branches:

    • dev

    • beta

    • production

  3. Publish all branches to GitHub.


🔁 Part 2: Basic Commit & Merge Workflow

  1. On dev, make a small change (e.g., edit README.md) and commit it using GitHub Desktop.

  2. In GitHub:

    • Switch to beta → merge request dev into beta.

    • Switch to production → merge request beta into production.

  3. Push all changes to GitHub.

✅ Result: All branches are synchronized with the first feature.


💥 Part 3: Faulty Commit & Rollback

  1. On dev, make another commit simulating a buggy feature.

  2. Merge upward (dev → beta → production).

  3. Simulate an error in production.

  4. Rollback procedure:

    • On production, revert the faulty commit (“Revert this commit” in GitHub Desktop).

    • Merge the rollback production → beta.

    • Merge again beta → dev.

✅ Result: All branches return to a clean state.


🐞 Part 4: Hotfix Workflow

  1. On production, make a hotfix commit (e.g., fix typo or restore functionality).

  2. Merge the hotfix downstream:

    • production → beta

    • beta → dev

✅ Result: All branches include the hotfix.


🧩 Part 5: Merge Into Current Branch

  1. On beta, make a new bug-fix commit that is not yet released to production.

  2. In GitHub Desktop, open the Branch tab on beta, right-click that commit, and choose:
    → “Merge into current branch.”

  3. Take a screenshot showing this action in GitHub Desktop.

✅ Result: The fix exists in beta and dev, but not in production.


🚀 Part 6: Selective Demo on Production

  1. On the dev branch, make three new feature commits (e.g., feature-A, feature-B, feature-C).

  2. For a quick demo requirement, only two features (A and B) need to be shown on production.

  3. Using GitHub Desktop, from the dev branch history:

    • Right-click each of the two chosen commits and select “Cherry-pick commit…” 

  4. Do not cherry-pick the third commit (feature-C).

  5. Push to GitHub and take a screenshot of the cherry-pick history in GitHub Desktop.

✅ Result: Production contains only selected demo features, while dev keeps all three commits.


📤 Submission Requirements

Submit on Moodle:

  1. GitHub repository link (public or private invite).

  2. Screenshots:

    • Branch view showing dev, beta, production.

    • Merge history / Git graph.

    • Cherry-pick screenshots (Parts 5 and 6).

  3. README.md explaining:

    • Branch purposes and commit sequence.

    • Rollback, hotfix, and selective demo logic.

    • Why cherry-pick is useful in staged releases.


🧮 Evaluation Criteria (100 pts)

Criteria Points Description
Repository & Branch Setup 10 Created and published dev, beta, production branches
Commit & Merge Flow 15 Proper order of commits and merges using GitHub Desktop
Rollback Process 15 Accurate revert and propagation
Hotfix Process 10 Correctly applied and merged back downstream
Merge Into Current Branch (Beta→Dev) 15 Successful merge into current branch with screenshot
Selective Demo (Dev→Production) 20 Two specific commits cherry-picked correctly into production
Documentation & Clarity 15 Clear README and organized commit messages

💡 Tips

  • Use clear commit messages:
    feat: add feature A • feat: add feature B • fix: rollback buggy feature • hotfix: patch production

  • Always pull latest before merging or cherry-picking.

  • Use GitHub Desktop’s History and Branch Graph to visualize workflows.

  • Add your git log --oneline --graph --all as an image for bonus clarity.

Previous activity Announcements
Next activity Video: Introduction to Version Control (Git Basics)

Contact us

Follow us

You are currently using guest access (Log in & Register)
Powered by Moodle

This theme was proudly developed by

Conecti.me