I have 3 branches in a project that should've been all discretely separate from the beginning, but alas, I'm still learning git and they got muddled together about halfway through my work.
Currently I can switch between master
and my dev-1
branches. In doing so, I get a display of
M this/is/a/file.path
M this/is/also/a/file.path
M this/is/a/file.path
and I cannot switch two my dev-2
branch without committing or stashing changes, which I don't think I want to do yet.
I would first like to know what the output above actually means. I've found examples that say those files have been modified, which is true, but why do I not have to stash or commit them before switching between master
and dev-1
?
Furthermore, I'd like my master
branch to be completely clean and only have changes on my dev-1
and dev-2
branches, but I am not sure the best ways to accomplish this, as my master
and dev-1
branches seem to share information.