Git Branch Management: Complete Workflow for Creating Branches from Existing Branches

Oct 17, 2025 · Programming · 56 views · 7.8

Keywords: Git branching | branch creation | merge strategy | workflow | version control

Abstract: This article provides a comprehensive guide to creating new branches from existing branches in Git, covering branch creation, committing, pushing, and merge strategies. Based on the Git Flow workflow model, it analyzes the principles of fast-forward merging and methods to avoid it, offering specific command examples and best practices to help developers better manage branch lifecycles.

Fundamentals of Git Branch Creation

In the distributed version control system Git, branch management is one of the core functionalities. Branches allow developers to work in isolated environments without affecting the stability of the main codebase. When creating a new branch from an existing branch, specific workflows and command sequences are typically involved.

Detailed Explanation of Branch Creation Commands

To create a new branch named myfeature from the dev branch, use the following command:

git checkout -b myfeature dev

This command combines two operations: first creating the new branch myfeature, then immediately switching to it. The -b parameter indicates create and switch, while dev specifies the source branch.

Workflow and Committing

After branch creation, developers can proceed with feature development on the new branch:

# Perform development work
git add .
git commit -am "Feature development description"

Upon completion, the branch needs to be pushed to the remote repository:

git push origin myfeature

Merge Strategies and Fast-Forward Issues

During branch visualization, fast-forward merging may occur. This phenomenon happens when the target branch (e.g., dev) has no new commits, while the source branch (myfeature) has new commits. Git simply moves the pointer forward without creating a merge commit.

To avoid fast-forward merging and preserve branch history, use the --no-ff parameter:

git checkout dev
git merge --no-ff myfeature

Complete Workflow Example

The complete branch management workflow based on the Git Flow model is as follows:

# Create feature branch from dev branch
git checkout -b myFeature dev

# Perform feature development and commit
git add .
git commit -am "New feature implementation"

# Switch back to dev branch and perform non-fast-forward merge
git checkout dev
git merge --no-ff myFeature

# Push changes to remote repository
git push origin dev
git push origin myFeature

Best Practices for Branch Management

Effective branch management requires adherence to the following principles: use clear naming conventions, maintain small branch sizes, regularly synchronize with base branches, and promptly delete completed branches after merging. These practices help maintain a clean and organized codebase.

Common Issues and Solutions

Developers may encounter various issues when using branches, including merge conflicts and branch synchronization problems. Understanding Git's branch model and merge strategies is key to resolving these issues. Through proper branch strategies and standardized development processes, the impact of these problems can be minimized.

Copyright Notice: All rights in this article are reserved by the operators of DevGex. Reasonable sharing and citation are welcome; any reproduction, excerpting, or re-publication without prior permission is prohibited.