Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> writes: > At least here, the scenario I gave allow to fully reproduce the problem. > > Would you like any other information? Not really. Here is what I locally ran and its output -- >8 -- cut here -- >8 -- #!/bin/sh mkdir -p /var/tmp/x/lvo && cd /var/tmp/x/lvo || exit rm -fr src dst ( mkdir src && cd src && git init && >file && git add file && git commit -m 'initial' && git checkout -b abranch && echo abranch >file && git commit -a -m 'abranch' ) || exit mkdir dst && cd dst && git init && git pull ../src master && echo mine >file && git status -suno && git remote add aremote ../src && git fetch aremote abranch || exit git checkout abranch git reset --hard git checkout abranch -- 8< -- cut here -- 8< -- $ sh script Initialized empty Git repository in /var/tmp/x/lvo/src/.git/ [master (root-commit) 8535bd5] initial 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 file Switched to a new branch 'abranch' [abranch 32814d9] abranch 1 file changed, 1 insertion(+) Initialized empty Git repository in /var/tmp/x/lvo/dst/.git/ >From ../src * branch master -> FETCH_HEAD M file >From ../src * branch abranch -> FETCH_HEAD * [new branch] abranch -> aremote/abranch error: Your local changes to the following files would be overwritten by checkout: file Please commit your changes or stash them before you switch branches. Aborting HEAD is now at 8535bd5 initial Switched to a new branch 'abranch' Branch abranch set up to track remote branch abranch from aremote. ---------------------------------------- As far as I can see, everything is working as intended. The first "git checkout abranch" stops due to the dirty local state before it even tries to DWIM to create abranch, and then after resetting to get rid of all the local modifications, the second "git checkout abranch" manages to create the branch just fine. Even with different variations (like making dst a clone of src to force the "checkout" to see an ambiguity), I do not seem to get your "the first one fails with an error message about Ambiguity, the second does not", which indeed is a curious symptom. Without knowing if this is an ancient Git, or what remote other than aremote this repository has, what remote-tracking branches from these remotes this repository has, if they share the same name abranch that points at the same or different objects, etc., I simply do not know what is causing you the symptom, and time I allocated to look into this for now just ran out.