GIF demonstrating the sequence of events
I create a branch foo
, alter a file, then without committing the change I checkout master
. GIT lets me do the checkout and the modification is carried over.
I commit this change.
Switch back to the branch foo
, alter a file -- coincidentally in a way that makes it identical to the version in master
-- then without committing the change I checkout master
. This time I get an error "Error: Your local changes to the following files would be overwritten by checkout: index.html Please commit your changes or stash them before you can switch branches. Aborting"
What is responsible for this inconsistent behavior?