Jeff King [off-list ref] writes:
However, if I then do this:
(cd parent && echo content >another && git add . && git commit -m more)
(cd child && git fetch ../parent && git checkout -b new FETCH_HEAD)
then it does complain. I'm guessing there is a different code path for
the case that we have no index at all, and that it is not properly
checking for overwrites.
I think it is this "opts->force = 1" done when you are on an unborn
branch.
if (!old.commit && !opts->force) {
if (!opts->quiet) {
warning("You appear to be on a branch yet to be born.");
warning("Forcing checkout of %s.", new->name);
}
opts->force = 1;
}