{"id":21358185,"url":"https://github.com/flkt-crnpio/semantic-version-npm-gitflow","last_synced_at":"2025-03-16T06:16:36.807Z","repository":{"id":111824554,"uuid":"500641195","full_name":"flkt-crnpio/semantic-version-npm-gitflow","owner":"flkt-crnpio","description":"versionamiento semántico con npm + gitflow . documentación y ejemplos","archived":false,"fork":false,"pushed_at":"2022-06-09T00:41:16.000Z","size":60,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-22T18:32:59.914Z","etag":null,"topics":["gitflow","npm","semantic-versioning"],"latest_commit_sha":null,"homepage":"","language":null,"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/flkt-crnpio.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-06-07T00:56:37.000Z","updated_at":"2022-08-16T14:43:04.000Z","dependencies_parsed_at":"2023-06-04T04:30:36.829Z","dependency_job_id":null,"html_url":"https://github.com/flkt-crnpio/semantic-version-npm-gitflow","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flkt-crnpio%2Fsemantic-version-npm-gitflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flkt-crnpio%2Fsemantic-version-npm-gitflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flkt-crnpio%2Fsemantic-version-npm-gitflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flkt-crnpio%2Fsemantic-version-npm-gitflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flkt-crnpio","download_url":"https://codeload.github.com/flkt-crnpio/semantic-version-npm-gitflow/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243830956,"owners_count":20354856,"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":["gitflow","npm","semantic-versioning"],"created_at":"2024-11-22T05:14:56.530Z","updated_at":"2025-03-16T06:16:36.800Z","avatar_url":"https://github.com/flkt-crnpio.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# semantic-version-npm-gitflow\n\n# Versionamiento semántico\n\n[semver.org](https://semver.org/)\n\n| **v0.** | **0.** | **0** |\n| --- | --- | --- |\n| Versión mayor | Versión menor | Versión parche |\n| architecture | feature | bugfix |\n\n### Reglas de versionamiento\n\n- Nunca utilizar números negativos\n- Nunca cambiar el contenido de la versión release, necesita hacerse una nueva versión para taguear el nuevo cambio\n- Cuando la versión mayor es cero, se considera un proyecto en desarrollo inestable\n- Cuando se soluciona un error se debe incrementar la versión de parche\n- Cuando se agrega una nueva funcionalidad que no rompe con la versión actual, se incrementa la versión menor y se regresa la versión de parche a cero\n- Cuando se crea un cambio que no es compatible con la versión anterior, se incrementa la versión mayor y a la vez la versión menor y el parche se deben regresar a cero\n\n___\n\n## Ramas\n\nExisten dos tipos de ramas, las que viven por siempre: **main** y **develop**. Las que se crean y eliminan cada que se utilizan: _feature_, _release_ y _hotfix_.\n\nCaracterísticas de las ramas\n\n- _Feature_. Nuevas funcionalidades, actualizaciones y bugfixes encontrados en desarrollo. Nace de la rama develop y al terminar se une a la rama develop. Una vez mergeada debe eliminarse.\n\n- **Develop.** Versión inestable en desarrollo. Se crea al inicio del proyecto, debe estar protegida en el repositorio para que nunca se elimine.\n\n- _Release._Versión de pruebas candidata a salir como siguiente versión de producción. Nace de develop y se une con main al validarse. Una vez mergeada debe eliminarse.\n\n- _Hotfix._Bugfix de errores que se encontraron en producción. Nace de main y al solucionarse se debe unir tanto a main como a develop. Una vez mergeada debe eliminarse.\n\n- **Main.** Versión estable en producción. Se crea al inicio del proyecto, debe estar protegida en el repositorio para que nunca se elimine.\n\n## Flujo de las ramas y su versionamiento\n\nPara versionar tanto en tag como en el package.json utilizar los comandos de npm version en la terminal\n\n- npm version patch incrementa el último dígito de la versión, crea un tag y lo publica\n- npm version minor incrementa el dígito de en medio de la versión, crea un tag y lo publica\n- npm version major incrementa el primer dígito de la versión, crea un tag y lo publica\n\nPara fijar las versiones que se utilizan en el package y no estar actualizando el archivo package-lock.json se puede utilizar el comando npm config set save-exact=true\n\n| _feature_ | **develop** | _release_ | _hotfix_ | **main** |\n| --- | --- | --- | --- | --- |\n| checkout feature/funcionalidad | | | | |\n| | merge feature a develop | | | |\n| delete feature branch | `npm version minor` | | | |\n| checkoutfeature/funcionalidad-2 | | | | |\n| checkoutfeature/bugfix-algo-por-arreglar | | | | |\n| | merge bugfix a develop | | | |\n| delete feature/bugfix branch | `npm version patch` | | | |\n| | merge feature2 a develop | | | |\n| delete feature2 branch | `npm version minor` | checkout release candidatev1.0.0-rc.1 | | |\n| feature/actualizacion-datos | | | | |\n| | merge actualizacion a develop | | | |\n| delete feature/actualizacion branch | `npm version minor` | merge release candidatev1.0.0-rc.2 | | |\n| | | | | merge release a main |\n| | | delete release branch | | `npm version major` + `git push --tags` |\n| | merge main a develop | | | |\n| | | | checkout hotfix/un-error-a-solucionar | |\n| | | | | merge hotfix a main |\n| | | | delete hotfix branch | `npm version patch` + `git push --tags` |\n| | merge main a develop | | | |\n\n___\n\n#### Ref\n\n[https://www.freecodecamp.org/news/how-i-established-a-good-release-process-in-javascript-b93e57e247e1/](https://www.freecodecamp.org/news/how-i-established-a-good-release-process-in-javascript-b93e57e247e1/)\n\n[https://docs.npmjs.com/cli/v8/commands/npm-version](https://docs.npmjs.com/cli/v8/commands/npm-version)\n\n[https://git-scm.com/book/en/v2/Git-Basics-Tagging](https://git-scm.com/book/en/v2/Git-Basics-Tagging)\n\n[https://github.com/devdigital/git-flow-standard-version](https://github.com/devdigital/git-flow-standard-version)\n\n[https://docs.npmjs.com/about-semantic-versioning](https://docs.npmjs.com/about-semantic-versioning)\n\n[https://nodejs.dev/learn/semantic-versioning-using-npm](https://nodejs.dev/learn/semantic-versioning-using-npm)\n\n[https://semver.org/spec/v2.0.0-rc.1.html](https://semver.org/spec/v2.0.0-rc.1.html)\n\n[https://danielkummer.github.io/git-flow-cheatsheet/](https://danielkummer.github.io/git-flow-cheatsheet/)\n\n[http://git-scm.com/book/en/v2](http://git-scm.com/book/en/v2)\n\n\n#### PDF Descargable\n\n[Flujo en git y versionamiento semantico](https://github.com/flkt-crnpio/semantic-version-npm-gitflow/raw/384ca773b8001b5d5a67e3a3f9f9fca8e59feda6/flujo-en-git-y-versionamiento-semantico.pdf \"download\")","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflkt-crnpio%2Fsemantic-version-npm-gitflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflkt-crnpio%2Fsemantic-version-npm-gitflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflkt-crnpio%2Fsemantic-version-npm-gitflow/lists"}