How to Move Commits to a New Branch in Git
If you accidentally committed changes to the wrong branch (e.g., `release/dev`) and meant to commit them to a new branch instead, don’t worry! Here’s a step-by-step guide to fix this issue.
View Raw (for LLMs)
1. Create a New Branch to save Your Changes
Save your current work by creating a new branch from your current state:
git checkout -b new-branch-name
Replace new-branch-name
with your desired branch name.
2. Reset the Original Branch
Now that your changes are safely in the new branch, reset the original branch (release/dev
) to its state before your commit.
First, find the commit hash of the last commit before your changes:
git log
Then, reset the branch:
git checkout release/dev
git reset --hard <commit-hash>
Replace <commit-hash>
with the actual commit hash.
3. Force-Push the Original Branch (If Needed)
If you’ve already pushed the changes to the remote release/dev branch, you’ll need to force-push the reset branch:
git push --force origin release/dev
⚠️ Caution: Force-pushing overwrites the remote branch history, so use it carefully.
4. Push Your New Branch
Finally, push your new branch to the remote repository:
git push -u origin new-branch-name
Summary
-
Create a new branch to save your changes:
git checkout -b new-branch-name
-
Reset the original branch to its previous state:
git checkout release/dev and git reset --hard <commit-hash>
-
Force-push the original branch if needed:
git push --force origin release/dev
-
Push your new branch:
git push -u origin new-branch-name