Re: can't create a branch on remote
From: Björn Steinbrink <hidden>
Date: 2016-06-15 22:47:30
On 2009.10.09 23:35:03 +0200, Auguste Mome wrote:
# git branch mylocal26217 v2.6.21.7
This automatically peels the v2.6.21.7 tag to get the commit object, and creates the new branch head, referencing that commit.
# git push /home/user/dev/git/linux-2.6 v2.6.21.7:refs/heads/new_feature_name26217 Total 0 (delta 0), reused 0 (delta 0) error: Trying to write non-commit object 170684ef0557d4b711a86595d31dcbebcb9d4ba2 to branch refs/heads/new_feature_name26217
This didn't peel the tag, because you might actually want the remote ref
to reference the tag, not the commit referenced by the tag. So you tried
to create a branch head that would reference a tag, and that is not
allowed. To peel the tag you can use:
v2.6.21.7^0
v2.6.21.7^{commit}
v2.6.21.7^{}
The first two ensure that you actually get a commit object or an error,
the last one just peels the tag until it finds a non-tag object.
So:
git push /home/user/dev/git/linux-2.6 \
v2.6.21.7^0:refs/heads/new_feature_name26217
should do the trick.
Though I don't see why you would create a branch like that. Usually, I'd
expect you to create new_feature_name26217 locally, work on it, and then
just push that branch head, instead of creating that rather pointless
branch head remotely.
Björn