Moving commits to another branch in Git
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 reset
the 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 HEAD
that are origin/HEAD
the 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 master
removed from (current branch) and added to a feature/new branch
new 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 checkout
is not limited to working with the working directory. It can also be used toHEAD
move the reference pointer to a reference point on a branch. -
Merge master branch
git merge master
git merge
The 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
checkout
master pulls down the latest version of the code and creates amaster
new branch called . -
Move the current branch back two commits:
git reset --keep HEAD~2
--keep
The -p option will reset the index entries and update the working treeHEAD
for files that differ between commit and . reset will terminate when files differ between commits and HEAD has local changes. Thus, the latest two commits aremaster
removed 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.
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
Rebase local branch when pulling changes from remote repository branch in Git
Publish Date:2025/04/05 Views:144 Category:Git
-
This article will cover the basics of rebasing your local branch when pulling changes from a remote repository branch in Git. We use the version control system Git to track changes made to files. We commit changes in a local branch in our l
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