git checkout <commit id>
git checkout -b <New Branch Name>
git checkout <branch name>
git checkout <commit id> <filename>
git checkout HEAD <filename/folder>
git checkout <filename/folder>
git checkout --track <remote>/<branch name>
git checkout --track origin/<branch name>
It's a state where you can make changes and commit them, but these changes do NOT belong to any branch.