{"id":19590610,"url":"https://github.com/ziishaned/git-semver","last_synced_at":"2026-03-09T10:31:43.715Z","repository":{"id":57089743,"uuid":"69016128","full_name":"ziishaned/git-semver","owner":"ziishaned","description":"A CLI tool to generate semver compliant tags for your git repositories ","archived":false,"fork":false,"pushed_at":"2019-02-19T06:30:45.000Z","size":23,"stargazers_count":79,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-27T16:55:12.591Z","etag":null,"topics":["git","semver"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/ziishaned.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-09-23T10:47:18.000Z","updated_at":"2025-06-25T16:16:05.000Z","dependencies_parsed_at":"2022-08-20T16:01:02.781Z","dependency_job_id":null,"html_url":"https://github.com/ziishaned/git-semver","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ziishaned/git-semver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziishaned%2Fgit-semver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziishaned%2Fgit-semver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziishaned%2Fgit-semver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziishaned%2Fgit-semver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ziishaned","download_url":"https://codeload.github.com/ziishaned/git-semver/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ziishaned%2Fgit-semver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30291807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["git","semver"],"created_at":"2024-11-11T08:25:40.447Z","updated_at":"2026-03-09T10:31:43.686Z","avatar_url":"https://github.com/ziishaned.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# git-semver\n\n[![Build Status](https://travis-ci.org/zeeshanu/git-semver.svg?branch=master)](https://travis-ci.org/zeeshanu/git-semver)\n[![Latest Version](https://img.shields.io/github/release/zeeshanu/git-profile.svg?style=flat-square)](https://github.com/zeeshanu/git-profile/releases)\n[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE)\n\n\u003e A CLI tool to generate [semantic versioning](http://semver.org) compliant tags for your git repositories. \n\n## Install\n\n* Download the file from [here](https://github.com/zeeshanu/git-semver/releases/download/v1.0.0/git-semver)\n* Assign required permissions `sudo chmod -R 755 git-semver`\n* Run `sudo mv git-semver /usr/local/bin/git-semver`\n\n## Usage\n\nBelow is the signature for command\n\n```shell\n$ git semver \u003cpatch|minor|major\u003e [options]\n```\n\nWhere `patch`, `minor` or `major` specifies the type of release that you are about to make.\n\n- `patch` use this option when you make backwards-compatible bug fixes\n- `minor` use this option when you add functionality in a backwards-compatible manner\n- `major` use this option when you make incompatible API changes\n\n### Options\n\nIn addition to the type of release i.e. `patch`, `major` or `minor`, you can add following options to modify the behavior of command\n\n- `--fetch` Fetch the remote tags before applying the version (Recommended)\n- `--prefix` Prefix to prepend to the tag e.g. `--prefix=v` to prepend `v` i.e. for tags similar to `v1.0.1`\n- `--postfix` Append to the tag e.g `--postfix=\"-live\"` to append `-live` to generate tags similar to `1.2.3-live`\n\n\n## Examples\n\nFind some of the usage examples below\n\n### Tag Examples\n\n- Below command creates a patch release i.e. increment the last part of the tag by 1 e.g. it will generate `x.y.1`, if the last tag was `x.y.0`\n\n```shell\n$ git semver patch\n```\n\n- Below command creates a minor release i.e. middle part of the tag will be incremented e.g. if the last tag was `x.2.z` then it will become `x.3.z`\n\n```shell\n$ git semver minor\n```\n\n- Below command will create a major release i.e. the first part of the tag will be incremented e.g. if the last tag was `0.y.z` then it will become `1.y.z`\n\n```shell\n$ git semver major\n```\n\n### Fetching Remote Tags\n\nIf you would want to fetch the remote tags before creating the tag, then use the `--fetch` option. For example\n\n```shell\n$ git semver patch --fetch\n```\n\nAbove command will make sure that the remote tags are fetched before creating a new tag. On a sidenote, it is recommended to add this flag e.g. if you are working in a team it is quite possible that you might not have some tag locally and creating a tag without fetching might end up in duplicated tags.\n\n### Prefix and Postfix Usage\n\n1. Prefix\n\tIf you want to create a release while prefixing some keyword e.g. `v` then you can provide that using `--prefix` option. For example:\n \n ```shell\n $ git semver patch --prefix=v\n ```\n\nThe above command will generate tags with `v` prefixed e.g. `v1.0.0` or `v1.3.2`.\n\n2. Postfix\n\tIf you would like to append something to the end of created tag you can use `--postfix` option. For example, if you would want to append `-dev` to the tag, you can do the below\n\n ```shell\n $ git semver patch --postfix=-dev\n ```\n\nThis will result in something along the lines of `3.5.1-dev` depending upon the last tag\n\n## A Real World Example of Semantic Versioning\n\nSome useful examples of semantic versioning are given below:\n\n```\nv0.0.0 // New project\nv0.1.0 // Add some functionality\nv0.2.0 // Add other new functionality\nv0.2.1 // Fix bug\nv0.3.0 // Add some functionality\nv0.3.1 // Fix bug\nv0.3.2 // Fix bug\nv0.3.3 // Fix bug\nv0.3.4 // Fix bug\nv0.4.0 // Add some functionality\nv0.4.1 // Fix bug\nv0.4.2 // Fix bug\nv1.0.0 // Code is being used in production\nv1.1.0 // Add some functionality\nv1.2.0 // Add other new functionality\nv1.2.1 // Fix bug\nv2.0.0 // Implement changes that causes backwards incompatible\n```\n\n## Contribution\n\nFeel free to fork, improve, create issues and spread the word.\n\n## License\n\nMIT \u0026copy; [Zeeshan Ahmed](http://github.com/zeeshanu)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fziishaned%2Fgit-semver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fziishaned%2Fgit-semver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fziishaned%2Fgit-semver/lists"}