why i cannot checkout another git branch?

git, git-branch, git-checkout, git-diff, version-control

Solution

Git protects you from switching to another branch, because that would override some changes you applied to the file `project.properties`. You can either throw the changes away by using `git checkout -f lab_master` or stash them first via `git stash` (and `git stash pop` after you checked out the other branch.) If you are sure, you want to keep the changes, you can also simply commit them.

Problem

``` $ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/lab_master remotes/origin/master $ git checkout lab_master error: Your local changes to the following files would be overwritten by checkou t: **project.properties** Please, commit your changes or stash them before you can switch branches. Aborting ``` why i just failed to checkout lab_master branch? another question: why i cannot compare current file with the file in another branch? ``` $ git diff project.properties -b lab_master fatal: bad flag '-b' used after filename ```

Original source