27

I want to create a single tag for multiple commits(merged branches).

Can we group multiple commits to a single tag , please help me on this.

7
  • 8
    No. A given tag can only point to one commit. Are you sure you're familiar enough with the concept of a tag? If not, see git-scm.com/book/en/v2/Git-Basics-Tagging Commented Apr 6, 2015 at 14:03
  • Jubobs is correct. You might want to explain in more detail what you want, which should make it easier for someone to explain why a multi-commit tag is neither possible nor necessary. Commented Apr 6, 2015 at 19:24
  • For a particular releases we do multiple commits. So how to create a tag for this type of releases ? Commented Apr 7, 2015 at 8:37
  • Multiple commits for a single release in a single Git repository? That doesn't seem to make a lot of sense, but the answer is still that a tag is connected to exactly one commit. Commented Apr 8, 2015 at 5:46
  • 4
    @HareRam For a particular releases we do multiple commits. Why not create one tag pointing to the "most recent" of those commits? That would make more sense than creating multiple tags for a given release. Commented Apr 8, 2015 at 17:51

4 Answers 4

17

What you are trying to do is not possible. A tag, like a branch, can only point to at most one commit.

Sign up to request clarification or add additional context in comments.

1 Comment

I used git tag -a V2.0 - m "My Message" <commit-id> , it added my head and this passed commit-id in this tag. Can you please explain ?
5

A really late answer, but you could make tags like

v1.2_b7_p0
v1.2_b7_p1
v1.2_b7_p2
v1.2_b7_p3

where the last _pX part makes them unique, but you can group by the other part. Possibly:

v1.2_b7_code
v1.2_b7_docs
v1.2_b7_demo
v1.2_b7_changelog

would work, depending on why you need so many.

But it does seem a release should be a single commit. Maybe a branch is really what you want.

Comments

1

we can add tag only one commit id git add tag -a v1.0 [commit ID]

Comments

1

It depends on what you mean by "tag". If you use the word "tag" to mean an actual tag in git, then the answer is "no". However, if you just want a general method to associate a string with multiple commits, you could use git-notes. For example, to associate the string "foo" with multiple commits (that is, to apply the label "foo" to multiple objects), you could do:

git notes --ref labels add -m foo $oid_1
git notes --ref labels add -m foo $oid_2

etc.

You can set GIT_NOTES_REF in the environment to avoid specifying --ref on each invocation of git-notes.

You can view all of the labels with:

git notes --ref labels

and you can view the labels in the history with

GIT_NOTES_REF=refs/notes/labels git log --notes

Depending on your use case, it might be preferred to create a refname that incorporates the label. eg, git notes --ref foo add $oid This allows (requires!) you to add some text to the note (which can be the empty string).

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.