Branching and Merging in Git
Prerequisites:
- Initializing a Repository and Making Your First Commit

Branching and Merging in Git
Branching is one of Git’s most powerful features. It allows you to work on different versions of your project simultaneously. In this blog, we’ll explore how to create, switch, and merge branches.
Table of Contents
- Branch
- Merge
- Creating and Switching Branches
- Merging Branches
- Exercise: Practicing Branching and Merging
Branch
A branch is a parallel line of development. The default branch is usually main
or master
.
Merge
Merging combines changes from one branch into another.
Creating and Switching Branches
- Create a new branch:
- Switch to the new branch:
- Or use the shortcut:
git branch feature-branch
git checkout feature-branch
git switch feature-branch
Merging Branches
- Make changes in the
feature-branch
and commit them. - Switch back to
main
: - Merge the branches:
git checkout main
git merge feature-branch
Git Graph After Merging
Commit B (feature-branch)
/
Commit A ---- Commit C (merge commit)
Exercise
Create a new branch called experiment
. Make changes in the experiment
branch and commit them. Switch back to main
and merge the experiment
branch. Run git log --graph
to visualize the branch structure.
Coming Up Next
In the next part of this series, we’ll tackle resolving merge conflicts when Git cannot automatically merge changes.
Part 3 of 24 in Git Mastery Series: From Beginner to Expert
All Posts in This Series
1. Introduction to Git: What is Version Control?
2. Initializing a Repository and Making Your First Commit
3. Branching and Merging in Git
4. Resolving Merge Conflicts in Git
5. Advanced Git Commands: Cherry-Picking and Interactive Rebase
6. Git Hooks and Automation: Streamlining Workflows
7. Git Workflows and Best Practices: Streamlining Collaboration
8. Debugging with Git: Bisect and Blame
9. Customizing Git: Aliases and Configuration
10. Mastering Git Diff: Analyzing Changes and Advanced Use Cases
11. Common Git Issues and Solutions: Troubleshooting Like a Pro
12. Understanding Git Internals: How Git Works Under the Hood
13. Mastering Git Submodules: Managing Dependencies and Modular Projects
14. Advanced Git Branch Management: Sorting, Pruning, and Deleting Branches
15. Git Reflog Deep Dive: Recovering Lost Commits and Understanding Git’s Safety Net
16. Disaster Recovery with Git: Restoring Corrupted Repositories and Lost Objects
17. Git and Open Source Contributions: Best Practices for Collaborative Development
18. Git Behind Firewalls and Proxies: Overcoming Connectivity Challenges
19. Git Config Deep Dive: Managing SSH Keys and Multiple SSH Keys with ssh_config
20. Git Tagging Strategies: Versioning Releases Effectively
21. Git Security and Signing Commits: Ensuring Trust and Integrity
22. Git and CI/CD Integration: Automating Workflows for Continuous Delivery
23. Git Patch Management: Sharing Changes Without Pushing
24. Partial Clones and Sparse Checkouts: Optimizing Large Repositories