{"id":13595692,"url":"https://github.com/markchalloner/git-semver","last_synced_at":"2025-04-09T13:33:07.667Z","repository":{"id":33429102,"uuid":"37074409","full_name":"markchalloner/git-semver","owner":"markchalloner","description":"Git plugin for Semantic Versioning","archived":false,"fork":false,"pushed_at":"2020-01-21T13:43:47.000Z","size":104,"stargazers_count":382,"open_issues_count":10,"forks_count":43,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-06T18:45:39.587Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/markchalloner.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-06-08T15:11:34.000Z","updated_at":"2024-10-27T23:56:41.000Z","dependencies_parsed_at":"2022-08-07T21:16:40.828Z","dependency_job_id":null,"html_url":"https://github.com/markchalloner/git-semver","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markchalloner%2Fgit-semver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markchalloner%2Fgit-semver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markchalloner%2Fgit-semver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markchalloner%2Fgit-semver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markchalloner","download_url":"https://codeload.github.com/markchalloner/git-semver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248049603,"owners_count":21039245,"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":[],"created_at":"2024-08-01T16:01:55.657Z","updated_at":"2025-04-09T13:33:07.286Z","avatar_url":"https://github.com/markchalloner.png","language":"Shell","readme":"# Git Semantic Versioning\n\n## Table Of Contents\n\n- [Introduction](#introduction)\n- [Installation](#installation)\n- [Plugins](PLUGINS.md)\n  - [Keep A Changelog](PLUGINS.md#keep-a-changelog---keepachangelogsh)\n  - [NPM package.json](PLUGINS.md#npm-packagejson---npmpackagejsonsh)\n- [Contributing](#contributing)\n\n## Introduction\n\nA git plugin to make adherance to [Semantic Versioning 2.0.0] easier, with its own plugin architecture for optional\nversion management of:\n\n- [Keep a Changelog][Keep a CHANGELOG] [CHANGELOG.md] file\n- [NPM] [package.json] file\n- ...\n\nSee [PLUGINS.md] for a description of plugins.\n\n### Semantic versioning\n\n[Semantic Versioning 2.0.0] is a scheme for versioning, which includes 3 parts e.g. ```3.2.1``` the components of which\nare:\n\n  - Major: Used only for backward compatible breaking changes, i.e. when we have an all new theme etc.\n  - Minor: Used for normal development, i.e. creating a new template\n  - Bug fixes\n\n## Installation\n\nVia git clone.\n\n``` bash\n(git clone https://github.com/markchalloner/git-semver.git \u0026\u0026 sudo git-semver/install.sh)\n```\n\nThe installer installs git-semver into the first of the following directories that exist and are in the path:\n\n- $HOME/.local/bin\n- $HOME/bin\n- /usr/local/bin\n- /usr/local/bin\n- /usr/bin\n- /bin\n\nIn Linux, OSX and Windows Cygwin the installer will create a symlink. In Windows MinGW creates a stub instead.\n\nThe installer will not overwrite any existing [configuration](#configuration) or [plugins][PLUGINS.md].\n\n## Usage\n\n### Get highest version tag\n\n``` bash\ngit semver get\n```\n\nWill return empty if no version has been created.\n\n### Create a new version tag\n\nVersions are created as tags and are generated using:\n\n``` bash\ngit semver [major|minor|patch|next|pre-release|build] [--dryrun] [-p \u003cpre-release\u003e] [-b \u003cbuild\u003e]\n```\n\nTo see what a tag would be without actually creating it, run a dryrun with `-d` or `--dryrun`:\n\n```\ngit semver patch --dryrun\n```\n\n#### Major\n\nIncrement the major component (0.1.0 -\u003e 1.0.0), optionally adding a pre-release version and build metadata.\n\n``` bash\ngit semver major [-p \u003cpre-release\u003e] [-b \u003cbuild\u003e]\n```\n\nIf no version has been created, the initial version will be: **1.0.0\\[-\u003cpre-release\u003e\\]\\[+\u003cbuild\u003e\\]**\n\n#### Minor\n\nIncrement the minor component (0.1.0 -\u003e 0.2.0), optionally adding a pre-release version and build metadata.\n\n``` bash\ngit semver minor [-p \u003cpre-release\u003e] [-b \u003cbuild\u003e]\n```\n\nIf no version has been created, the initial version will be: **0.1.0\\[-\u003cpre-release\u003e\\]\\[+\u003cbuild\u003e\\]**\n\n\n#### Patch (Next)\n\nIncrement the patch component (0.1.0 -\u003e 0.1.1), optionally adding a pre-release version and build metadata.\n\n``` bash\ngit semver patch|next [-p \u003cpre-release\u003e] [-b \u003cbuild\u003e]\n```\n\nIf no version has been created, the initial version will be: **0.1.0\\[-\u003cpre-release\u003e\\]\\[+\u003cbuild\u003e\\]**\n\n#### Pre-release\n\nCreate a new pre-release version based on the next patch version if a release version exists (0.1.0 -\u003e\n0.1.1-\u003cpre-release\u003e) or the current patch version (0.1.0-alpha -\u003e 0.1.0-\u003cpre-release\u003e) if it does not,\noptionally adding build metadata.\n\n``` bash\ngit semver pre-release -p \u003cpre-release\u003e [-b \u003cbuild\u003e]\n```\n\nIf no version has been created, the initial version will be: **0.1.0-\u003cpre-release\u003e\\[+\u003cbuild\u003e\\]**\n\n#### Build\n\nCreate a new build based on the current patch version.\n\n``` bash\ngit semver build -b \u003cbuild\u003e\n```\n\nIf no version has been created, the initial version will be: **0.1.0+\u003cbuild\u003e**\n\n### Help\n\nRun git semver with no arguments to see usage\n\n``` bash\ngit semver [help]\n```\n\n## Configuration\n\nGit-semver will check for a configuration file in the following locations (and use the one that exists):\n\n- `$GIT_REPO_ROOT/.git-semver`\n- `$XDG_CONFIG_HOME/.git-semver/config`\n- `$HOME/.git-semver/config`\n\nGit-semver will default to `$HOME/.git-semver/config` if no configuration file is found.\n\nAn example configuration file with the default settings can be found at [config.example].\n\n## Updates\n\nUpdates can be done using git. Change to the cloned directory and run a git pull:\n\n```\n(cd $(dirname $(readlink $(which git-semver))) \u0026\u0026 git status)\n```\n\n## Uninstallation\n\n### Automatically\n\nVia uninstaller in clone directory. Navigate to your original clone directory and run:\n\n``` bash\nsudo git-semver/uninstall.sh [-p|--purge]\n```\n\nThe purge switch will additionally remove the configuration directory.\n\n### Manually\n\ngit-semver is installed by placing a symlink/stub in one of the bin directories in the path.\n\n- ${HOME}/.local/bin\n- ${HOME}/bin\n- /usr/local/bin\n- /usr/bin\n- /bin\n\nIt can be deleted easily:\n\n``` bash\nsudo rm $(which git-semver)\n```\n\nThe configuration directory can be removed with:\n\n``` bash\nrm -rf ${HOME}/.git-semver\n```\n\n## Changelog\n\nPlease see [CHANGELOG.md] for more information what has changed recently.\n\n## Contributing\n\nPlease see [CONTRIBUTING.md] for details.\n\n[CHANGELOG.md]: CHANGELOG.md\n[Change Log Management]: http://keepachangelog.com/\n[CONTRIBUTING.md]: CONTRIBUTING.md\n[config.example]: config.example\n[Keep a CHANGELOG]: http://keepachangelog.com/\n[NPM]: https://www.npmjs.com/\n[package.json]: http://browsenpm.org/package.json\n[PLUGINS.md]: PLUGINS.md\n[Semantic Versioning 2.0.0]: http://semver.org/spec/v2.0.0.html\n","funding_links":[],"categories":["Git","Shell","For Developers","others"],"sub_categories":["Visual Studio Code","Directory Navigation"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkchalloner%2Fgit-semver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkchalloner%2Fgit-semver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkchalloner%2Fgit-semver/lists"}