How can I push a specific commit to a remote, and not previous commits?

Question

I have made several commits on different files, but so far I would like to push to my remote repository only a specific commit.

Is that possible?

Answer

To push up through a given commit, you can write:

git push <remotename> <commit SHA>:<remotebranchname>

provided <remotebranchname> already exists on the remote. (If it doesn't, you can use git push <remotename> <commit SHA>:refs/heads/<remotebranchname> to autocreate it.)

If you want to push a commit without pushing previous commits, you should first use git rebase -i to re-order the commits.

How do I stash only one file out of multiple files that have changed?

How do I push amended commit to the remote Git repository?