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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html