To prepare for working on <branch>, switch to it by updating the index and the files in the working tree, and by pointing HEAD at the branch. Local modifications to the files in the working tree are kept, so that they can be committed to the <branch>.
Если хочешь, чтобы изменения остались в ветке, сделай временный коммит. Можно и stash, как советуют, но тогда есть риск потерять потом забыть про эти изменения или куда они предназначались, или они не лягут из-за конфликта
Пока изменения не попали в коммит, они относятся к файлам в рабочей копии и git их не трогает при чекауте, это очень удобная штука в некоторых ситуациях
Он сделал чекаут с незакоммиченными изменениями, так что гит просто сменит ветку. Конфликта в данном случае никогда не будет, потому что новая ветка была только что создана из этой же головы мастера.