Here is the result of two checkouts: why the second is failing? 'git status' shows some files have been modified, but I am sure I haven't touched those files.
praveensripati@MyMini:~/Hadoop/Git/hadoop-common$ git checkout branch-0.21
Switched to branch 'branch-0.21'
praveensripati@MyMini:~/Hadoop/Git/hadoop-common$ git checkout branch-0.20
error: The following untracked working tree files would be overwritten by checkout:
CHANGES.txt
LICENSE.txt
README.txt
bin/hadoop
bin/hadoop-daemon.sh
bin/hadoop-daemons.sh
Please move or remove them before you can switch branches.
Aborting
praveensripati@MyMini:~/Hadoop/Git/hadoop-common$ git status
# On branch trunk
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# CHANGES.txt
# LICENSE.txt
# README.txt
# bin/
# build.xml
# conf/
# lib/
# site/
# src/
nothing added to commit but untracked files present (use "git add" to track)
This is occurring because some or all of the files that are not being tracked on your current branch are being tracked by the branch you want to change to.
For example the branch may contain a CHANGES.txt. Because git does not want to overwrite the file you have in your workspace if is giving your this error to allow you to backup the files you have locally. You can either:
Stashing does not work for files that are not tracked on the current branch. You can use git diff to work out which files are on the 0.20 but not on 0.21. For example:
git diff --name-only branch-0.20
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With