Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
in DevOps and Agile by (29.3k points)

Sometimes it happens that I make some changes in my working directory and I realize that these changes should be committed in a branch different to the current one. This usually happens when I want to try out new things or do some testing and I forget to create a new branch beforehand, but I don't want to commit dirty code to the master branch.

So, how can I make that uncommitted changes (or changes stored in the index) be committed to a different branch than the current one?

1 Answer

0 votes
by (50.2k points)

Since your files are not committed in the branch so you can use the following commands:

git stash

git checkout branch2

git stash pop

Or you can use 

git stash

git checkout branch2

git stash list       # to check the various stash made in a different branch

git stash apply x    # to select the right one

And to stash currently untracked (newly added) files:

git stash -u


Alternatively, if you realize that this is going to happen in the future, simply commit the things that belong to the current branch. You can always come back and amend that commit:

git add -p

git commit

git stash

git checkout other-branch

git stash pop

Browse Categories