0

Manage git tags for different remotes

Patrick123 3 years ago updated 3 years ago 1

Currently I can see the git tags in the branches window on the same level as "Local Branches" or any remote.

I have the situation, where I have the exactly same tag name on different remotes. The remotes contain related history and are all added to one local git repository.

It looks like Smartgit only shows the tags for 1 of the remotes and I can't figure out, (within SmartGit) which remote contains which tags.

It would be great, if Smartgit could display all tags from all remotes.

One solution would be to show the tags within the corresponding remote or to show the tags in a similar style like it is done for remote branches with the same name (Remote1/Tag1, Remote2/Tag2 etc.).

Please explain how this should be done on plain Git level. Note, that Git does not have any remote information stored with tags.

Thanks for the response. I am not 100% sure what you mean with "plain Git level". It is possible to check, if a local tag exists at the specified remote and if the tag is set on the same commit.

E.g. 

tag 0.0.0 is on the same commit, the others on different

the local repository has the tags of origin2

origin1 tags: 0.0.0 0.0.1 0.0.2

origin2 tags: 0.0.0 0.0.1 0.0.2 0.0.3

git fetch origin1 tag 0.0.0 -> success as the commit is the same

git fetch origin2 tag 0.0.0 -> success as the commit is the same

git fetch origin1 tag 0.0.1 -> rejected as the commit is different

git fetch origin2 tag 0.0.1 -> success as the commit is the same

git fetch origin1 tag 0.0.2 -> rejected as the commit is different

git fetch origin2 tag 0.0.2 -> success as the commit is the same

git fetch origin1 tag 0.0.3 -> couldn't find remote ref (tag is not present)

git fetch origin2 tag 0.0.3 -> success as the commit is the same

Another possibility would be:

git ls-remote --tags origin1

-> shows commits corresponding to tags of origin1

and 

git ls-remote --tags origin2

-> shows commits corresponding to tags of origin2



So the information is not stored locally by git, but could be stored and is available through git commands.

Sure, this is possible, but this information is not available locally.