I have the following branches
master -> php-merge-2016, master -> css-merge-2016 and master -> css-merge-2016 -> b4-selector-removal. To start with I need to merge b4-selector-removal-new to php-merge-2016.
Currently I am working on branch b4-selector-removal and all changes are committed and pushed to remove repository and git status shows "working directory is clean"
So to merge b4-selector-removal-new to php-merge-2016 branches I first tried to be on my php-merge-2016 branch. When I switch to php-merge-2016 using git checkout php-merge-2016 it gets checked out without a problem and here again git status shows working directory is clean as I haven't made any changes yet.
Just to do a bit of experiment I tried to switch back to b4-selector-removal-new branch without doing anything. But git is now saying:
Your local changes to the following files would be overwritten by checkout:
sites/all/themes/base/css/info-grid.css
sites/all/themes/base/css/info-grid.css.map
sites/all/themes/desktop/css/print.css
sites/all/themes/desktop/css/print.css.map
sites/all/themes/mobile/css/ifa-upload.css
sites/all/themes/mobile/css/ifa-upload.css.map
Please, commit your changes or stash them before you can switch branches.
Aborting
Interesting thing is the files shown above are the ones which I committed and pushed last before switching back and forth between two mentioned branches.
Why I am getting this error? What is the work around. I did not use git checkout -f because I am not sure what it would do. I am not yet very much familiar with git yet so worrying using anything which forces something.
I had seen in another post that I could have used git reset --hard before checking out to another branch. what this do? Would this be harmless if I use this in my case? Will it resolve the issue?
Please help!