Context
I have a repository with hundreds of committed and pushed commits. Now I have 10 committed but not yet pushed commit on my local git repository, I would like to create a new branch locally, and move all the 10 commits to that branch, doing all this locally. Then when I will be online next time I would like to sync my remote with that exact state. (As far as I see this case is not the same as moving committed (but not pushed) changes to a new branch after pull because that is only one single commit)
Question
Is this possible at all? If yes what is the most efficient way? (please be aware I am not a git guru)