Now Git support tag feature, which means it can ls-tree, cat-file by tag , get tag list and add a tag then push