i have commits that are in a remote repository (origin/master) which i want to put in a branch created from that repository (origin/remote_branch).
when i checkout to that remote branch
git checkout -b mybranch origin/remote_branch
then cherry-picked the commits that i made
git cherry-pick 9df63616b0428cf6edc4261adb533a1ac516b9a0
git says everything-up-to-date when i try to push.
git push
is there anything i'm doing wrong?
Depending on your version of Git, it may be trying to push branches with matching names, i.e., master
to origin/master
and remote_branch
to origin/remote_branch
. If your origin repository doesn't have a branch named mybranch
then it thinks there's nothing to update.
To override this default, you can explicitly tell git which branch to use as the source (mybranch
) and which to use as the destination on the remote repository (remote_branch
):
git push origin mybranch:remote_branch
There's a config option to tell git to push to remote tracking branches by default:
git config --global push.default tracking
I find this more intuitive and I think it's the behavior you're looking for. Checkout the push.default
option in the git config man page. Also checkout the Examples section in the git push man page to see how to override the default behavior.