I created a new branch in XCode to build a new feature. After some frustration with tons of errors I decided to switch back to my master branch to work on something else. After the switch, none of my code changed back to its original state before I created the new branch.
WHAT? I thought this was the point of source control. Am I misunderstanding how this works?
One way to do this is to commit your changes in the xcode branch. Then checkout the master branch. Not committing changes and then checking out another branch brings along said changes. If you want to remove the xcode branch do the following: git branch -D xcode