So I have a git repository that I cloned from an upstream source on ghithub. I made a few changes to to it (that are uncommitted and in the master branch). What I want to do is push my changes onto my github page as a new branch and have github still see it as a fork.

Is that possible? I'm fairly new to git and github. Did my question even make sense?

The easiest way that I can think of (which I'm sure is the most aroundabout way), is to fork the repo on github. Clone it locally to a different directory. Add the upstream origin repo. Create a branch in that new forked repo. Copy my code changes by hand into the new local repo. And then push it back up to my github.

Is this a common use case that there's a simpler way of doing it without duplicating directories?

I guess I'm asking here as opposed to SO since I'm on linux using command line git and the people here give better answers imo =]

Commit any of your uncommitted changes that you want to publish (I am not sure if you meant to imply that you have some commits on your local master and some uncommitted changes, or just some uncommitted changes; incidentally, uncommitted changes are not “on a branch”, they are strictly in your working tree).

Rename your master branch to give it the name you want for your “new branch”. This is not strictly necessary (you can push from any branch to any other branch), but it will probably reduce confusion in the long run if your local branch and the branch in your GitHub fork have the same name.