I forked a project on Github.
Let the remote upstream be upstream
and my remote repository be origin
.
My local master
branch is se
If I understand your question, you want to get rid of the intermediate/throwaway commits that you did in your branch. Try something like this:
git checkout -b for-upstream remotes/origin/master (create a new branch from the upstream origin)
git cherry-pick (fix any conflicts if necessary)
this should give you a local "for-upstream" branch which contains just the upstream master + your 1 commit. You can then submit that branch for pull request