JIYIK CN >

Current Location:Home > Learning > OPERATING SYSTEM > Git >

Moving commits to another branch in Git

Author:JIYIK Last Updated:2025/04/01 Views:

Git is a very useful and powerful tool in the modern software world. Many types of files and codes can be stored through branches and commits in Git. Branches are a different concept depending on the version control system you use. Many developers consider it the most preferred version control system due to its efficiency.

Most of the time, we face a situation when after completing some work and committing to a particular branch, we realize that we have committed to the wrong branch by mistake and want to commit again on another branch. Git comes to our rescue and allows us to move commits to other existing branches or new branches.

This guide will give us a basic understanding of how to move our commits to another branch, which could be a new or existing branch. Additionally, we will discuss how to use the git branch command to create new branches, git resetthe command to move commits, and the git merge command to merge those changes back into the main branch.


Counting commits for migrations in Git

Before we start the whole process, we need to judge the situation. Assume that we have already checked out the branch we want to change; to do this, we need to understand the history.

We will use the following command to calculate the number of commits to move.

git log

After executing, we can see HEADthat are origin/HEADthe two commits at the head of , which are the two desired commits we need to move to another branch. Below are the remaining steps, where we will describe how to move these commits to a new or existing branch.


Moving commits to a new branch in Git

The steps mentioned below will show us how to move the latest commit to a new branch.

  • Create a new branch
    git branch feature/new branch
    

    This command will create a new branch that will contain master(current)all the commits from the branch.

  • Move the current branch back two commits
    git reset --keep HEAD~2
    
  • Check out the new branch
    git checkout feature/new branch
    

By executing these, our two latest commits have been masterremoved from (current branch) and added to a feature/new branchnew branch called .


Moving commits to an existing branch in Git

The steps mentioned below will show us how to move the latest commit to an existing branch. This is useful for us if we have been working with feature branches, but we started making commits in the wrong branch by mistake. Let's assume that the current branch and the commit we want to delete is master.

  • Check out existing branches
    git checkout feature/existing branch
    

    The command git checkoutis not limited to working with the working directory. It can also be used to HEADmove the reference pointer to a reference point on a branch.

  • Merge master branch
    git merge master
    

    git mergeThe command can also be used to merge a branch into the current branch, but only if the current branch has already been merged into the branch being merged.

  • View the master branch<
    git checkout master
    

    The command checkoutmaster pulls down the latest version of the code and creates a masternew branch called .

  • Move the current branch back two commits:
    git reset --keep HEAD~2
    

    --keepThe -p option will reset the index entries and update the working tree HEADfor files that differ between commit and . reset will terminate when files differ between commits and HEAD has local changes. Thus, the latest two commits are masterremoved from and added to the existing branch.

For reprinting, please send an email to 1244347461@qq.com for approval. After obtaining the author's consent, kindly include the source as a link.

Article URL:

Related Articles

Git installation and establishment of local warehouse service

Publish Date:2025/04/05 Views:89 Category:Git

Git is a distributed version control system: the client does not only extract the latest version of the file snapshot, but also completely mirrors the original code repository. It has the following advantages: a. Since every extraction oper

git remote operation——multiple remote repositories for one project

Publish Date:2025/04/05 Views:131 Category:Git

Multiple remote repositories for a git project In our git project, the command to operate the remote repository information is $ git remote # 查看当前所有的远程仓库的名称 $ git remote -v # 查看远程仓库的名称和远程仓

Git cherry pick command usage

Publish Date:2025/04/05 Views:190 Category:Git

git cherry-pick is a powerful command that allows us to select an arbitrary Git commit by reference and attach it to the HEAD of the current working branch. Cherry picking is the act of picking a commit from one branch and applying it to an

Comparison between Git merge and Git rebase

Publish Date:2025/04/05 Views:171 Category:Git

The git rebase command may seem like Git wizardry to beginners, but if used carefully, it can actually make life easier for your development team. In this article, we compare git rebase with the related git merge command and identify all th

How to fix Git error Error: src refspec master does not match any

Publish Date:2025/04/05 Views:124 Category:Git

When using Git, we may encounter the error "src refspace master does not match any". Here's what the error means and how to fix it. What does src refspec master does not match any Mean in Git mean? We may encounter this error when we try to

Undo Git Stash

Publish Date:2025/04/04 Views:187 Category:Git

This article explains how to make and save changes to a repository. Git allows you to save changes locally and push them to a server when needed. In Git, we don't use the term save , but commit . We use git add , git commit , and git stash

View a list of cache entries in Git

Publish Date:2025/04/04 Views:59 Category:Git

We often need to pause our work and focus on something else in our development environment. Therefore, we may need to temporarily save our current work and focus on a different one. We may want to resume our original work later. git stash T

Git stores specific files

Publish Date:2025/04/04 Views:115 Category:Git

This article will cover storing changes to only specific files in Git. In Git, when we make some changes in our working tree, we may have some changes which may or may not be staged in our local repo. We may now wish to save these changes f

Scan to Read All Tech Tutorials

Social Media
  • https://www.github.com/onmpw
  • qq:1244347461

Recommended

Tags

Scan the Code
Easier Access Tutorial