{"id":18310140,"url":"https://github.com/kazhuravlev/git-tools","last_synced_at":"2026-04-11T23:11:03.062Z","repository":{"id":60648442,"uuid":"489148879","full_name":"kazhuravlev/git-tools","owner":"kazhuravlev","description":"Useful set of tools which helps to manage git tags","archived":false,"fork":false,"pushed_at":"2024-08-14T16:27:01.000Z","size":89,"stargazers_count":31,"open_issues_count":4,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-01T16:16:18.246Z","etag":null,"topics":["automation","git","git-tags","go","golang","tool"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kazhuravlev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-05T22:56:20.000Z","updated_at":"2025-03-05T18:22:22.000Z","dependencies_parsed_at":"2023-11-29T20:31:01.720Z","dependency_job_id":"f18f8852-d0de-4386-9a69-5bbe5fe480fd","html_url":"https://github.com/kazhuravlev/git-tools","commit_stats":{"total_commits":68,"total_committers":2,"mean_commits":34.0,"dds":"0.014705882352941124","last_synced_commit":"5668ace8d1d3500625396734fda78ad32598ad9b"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazhuravlev%2Fgit-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazhuravlev%2Fgit-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazhuravlev%2Fgit-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazhuravlev%2Fgit-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kazhuravlev","download_url":"https://codeload.github.com/kazhuravlev/git-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247375862,"owners_count":20929126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","git","git-tags","go","golang","tool"],"created_at":"2024-11-05T16:13:20.200Z","updated_at":"2025-11-08T01:06:13.095Z","avatar_url":"https://github.com/kazhuravlev.png","language":"Go","readme":"# Git Tools\n\n[![Go Reference](https://pkg.go.dev/badge/github.com/kazhuravlev/git-tools.svg)](https://pkg.go.dev/github.com/kazhuravlev/git-tools)\n[![License](https://img.shields.io/github/license/kazhuravlev/git-tools?color=blue)](https://github.com/kazhuravlev/git-tools/blob/master/LICENSE)\n[![Build Status](https://github.com/kazhuravlev/git-tools/actions/workflows/release.yml/badge.svg)](https://github.com/kazhuravlev/git-tools/actions/workflows/release.yml)\n[![Go Report Card](https://goreportcard.com/badge/github.com/kazhuravlev/git-tools)](https://goreportcard.com/report/github.com/kazhuravlev/git-tools)\n\nSet of helpful tools to do a routine job.\n\nThis tool can help you to work with a bunch of lib/services under your projects.\nEspecially when you start a new project - you need to increment a version of the\nSDK repo too often. `gt` allows you to work\nlike `git commit -a -m 'some changes' \u0026\u0026 gt t i min \u0026\u0026 gt p a`. This set of\ncommands reads as \"commit changes, increment minor version of last semver tag,\npush commits to the origin with tags\". Pretty simple, huh?\n\n`gt` try to follow a chosen format of semver tags which you choose (`v1.2.3`\n/`1.2.3`). If you want to follow a selected pattern, just add `gt` to your CI\nsystem or `git-hook` and check that all tags have one concrete format.\nSee [Usage](#Usage).\n\n## Installation\n\n**Golang**\n\n```shell\ngo install github.com/kazhuravlev/git-tools/cmd/gt@latest\n```\n\n**Homebrew**\n\n```shell \nbrew install kazhuravlev/git-tools/git-tools\n```\n\n**Docker (zsh)** (will work only in current directory)\n\n```shell\necho 'alias gt=\"docker run -it --rm -v `pwd`:/workdir kazhuravlev/gt:latest\"' \u003e\u003e ~/.zshrc\n ```\n\n## Usage\n\nBy default, `gt` works with the repo in the current directory. If you want to\nspecify another path to repo - add `--repo=/path/to/repo` flag.\n\n```shell\ngt --repo /path/to/repo tag last\n```\n\n| Command             | Action                                                       |\n|---------------------|--------------------------------------------------------------|\n| `t l`               | Show last semver tag in this repo                            |\n| `t i major`         | Increment `major` part for semver                            |\n| `t i minor`         | Increment `minor` part for semver                            |\n| `t i patch`         | Increment `patch` part for semver                            |\n| `lint`              | Run linter, that check the problems                          |\n| `hooks install all` | Install commit-msg hook that adds branch name to each commit |\n\n### Force add new semver tag\n\nBy default `gt` will throw an error when you try to increment a tag on commit, that already have another semver tag.\n\nIn order to skip this error - provide additional flag to increment command like\nthat: `gt t i min --ignore-exists-tag`.\n\n### Examples\n\n```shell\n# Get last semver tag in this repo\n$ gt tag last\nv1.9.0 (c2e70ec90579ba18fd73078e98f677aec75ae002)\n\n# Show only tag name (useful for ci/cd)\n$ gt tag last -f tag\nv1.9.0\n```\n","funding_links":[],"categories":["Utilities","公用事业公司"],"sub_categories":["Utility/Miscellaneous","实用程序/Miscellaneous"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkazhuravlev%2Fgit-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkazhuravlev%2Fgit-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkazhuravlev%2Fgit-tools/lists"}