0Pricing
Git Advanced: Monorepo, Submodules & Workflows · Lesson

Feature Branching and Hotfixes

Implement effective feature branching strategies and learn how to quickly apply hotfixes to production environments.

Feature Branching and Hotfixes is a free Git Advanced: Monorepo, Submodules & Workflows lesson on CoddyKit — lesson 3 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Git Advanced: Monorepo, Submodules & Workflows learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Why Feature Branches?

When working on new features or major changes, it's best to keep them separate from your main codebase. This is where feature branching comes in!

It allows developers to work on new functionality in isolation without affecting the stable version of the project. This prevents half-finished work from breaking the main branch.

Creating a Feature Branch

To start a new feature, you'll create a new branch from your main development line, often main or develop. This creates a separate timeline for your work.

Use the git checkout -b command to create a new branch and switch to it in one go.

git checkout -b my-new-feature

Working in Isolation

Once on your feature branch, you can make changes, add files, and commit as usual. Your commits will only exist on this branch, not on main.

It's good practice to push your feature branch to the remote repository regularly, especially if you're collaborating or want a backup.

git add . 
git commit -m "Implement initial feature UI" 
git push origin my-new-feature

Merging a Feature Branch

After your feature is complete, reviewed, and tested, it's time to integrate it back into the main development branch. You'll switch to the target branch (e.g., main) and then merge your feature branch.

Git will combine the changes. Often, a merge commit is created, showing exactly when the feature was integrated.

git checkout main 
git merge my-new-feature

Cleaning Up Feature Branches

Once a feature branch has been merged and is no longer needed, it's good practice to delete it. This keeps your list of branches tidy and easier to manage.

Remember to delete both the local and remote versions of the branch.

git branch -d my-new-feature 
git push origin --delete my-new-feature

Urgent Fixes: Hotfixes

Sometimes, critical bugs appear in the production environment that need immediate attention. These are called hotfixes.

A hotfix workflow allows you to quickly fix the issue and deploy it, minimizing downtime, without waiting for the next planned feature release.

Branching for a Hotfix

Unlike feature branches, hotfixes are typically branched directly from the production-ready branch (e.g., main or master). This ensures you're fixing the exact code currently in production.

You create a new branch specifically for the hotfix, often named with a prefix like hotfix/.

git checkout main 
git checkout -b hotfix/critical-bug-2023-01

Fix, Commit, Test

On your hotfix branch, you'll apply the necessary changes to resolve the bug. Keep the fix as small and focused as possible to reduce risk.

After making changes, commit them with a clear message and thoroughly test the fix to ensure it solves the problem without introducing new ones.

git add . 
git commit -m "HOTFIX: Fix login issue on production" 
// Run tests here

Deploying & Integrating Hotfixes

Once the hotfix is verified, it needs to be merged back into the production branch (e.g., main) and immediately deployed.

Crucially, the hotfix also needs to be merged into your long-running development branch (e.g., develop) to prevent the bug from reappearing in future releases.

git checkout main 
git merge hotfix/critical-bug-2023-01 
git push origin main 

git checkout develop 
git merge hotfix/critical-bug-2023-01 
git push origin develop

Feature vs. Hotfix Check

You've learned about feature branching and hotfixes. Let's test your understanding!

Summary: Branching for Success

In this lesson, you mastered two essential Git branching strategies:

  • Feature Branching: Ideal for developing new features in isolation, ensuring a stable main codebase. You learned to create, work on, merge, and delete feature branches.
  • Hotfixes: Crucial for quickly addressing critical bugs in production. You saw how to create hotfix branches from production, apply fixes, and merge them back to both production and development lines.

These techniques are vital for managing complex projects and maintaining a smooth development workflow with your team.

Frequently asked questions

Is the “Feature Branching and Hotfixes” lesson free?

Yes — the full text of “Feature Branching and Hotfixes” is free to read here on the web, and the Git Advanced: Monorepo, Submodules & Workflows course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Git Advanced: Monorepo, Submodules & Workflows course, upgrade to CoddyKit PRO.

What will I learn in “Feature Branching and Hotfixes”?

Implement effective feature branching strategies and learn how to quickly apply hotfixes to production environments. You practise Git Advanced: Monorepo, Submodules & Workflows with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Git Advanced: Monorepo, Submodules & Workflows?

No prior experience is required. Git Advanced: Monorepo, Submodules & Workflows on CoddyKit is structured for beginners through advanced learners; this is — lesson 3 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Feature Branching and Hotfixes” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Git Advanced: Monorepo, Submodules & Workflows lesson?

Yes. Every Git Advanced: Monorepo, Submodules & Workflows lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Git Flow vs. GitHub Flow
  2. GitLab Flow and Release Management
  3. Feature Branching and Hotfixes
  4. Trunk-Based Development and Continuous Integration
← Back to Git Advanced: Monorepo, Submodules & Workflows