{"id":24965774,"url":"https://github.com/allnulled/versionate.sh","last_synced_at":"2025-03-29T01:19:24.233Z","repository":{"id":274133240,"uuid":"922019089","full_name":"allnulled/versionate.sh","owner":"allnulled","description":"Script to automatically: push(main) + branch overwrite based on version + push(vX)","archived":false,"fork":false,"pushed_at":"2025-01-26T09:28:38.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-03T11:16:09.395Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/allnulled.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-01-25T05:17:15.000Z","updated_at":"2025-01-26T09:28:41.000Z","dependencies_parsed_at":"2025-01-25T06:19:09.834Z","dependency_job_id":null,"html_url":"https://github.com/allnulled/versionate.sh","commit_stats":null,"previous_names":["allnulled/versionate.sh"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allnulled%2Fversionate.sh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allnulled%2Fversionate.sh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allnulled%2Fversionate.sh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allnulled%2Fversionate.sh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/allnulled","download_url":"https://codeload.github.com/allnulled/versionate.sh/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246122472,"owners_count":20726834,"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":"2025-02-03T11:16:10.758Z","updated_at":"2025-03-29T01:19:24.208Z","avatar_url":"https://github.com/allnulled.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# versionate.sh\n\nScript to automatically: push(main) + branch overwrite based on version + push(vX).\n\nRequires `git` and `jq` installed from command line.\n\nYou can find [`versionate.sh`](https://github.com/allnulled/versionate.sh/blob/main/up.sh).\n\nYou can also find [`up.sh`](https://github.com/allnulled/versionate.sh/blob/main/up.sh).\n\n\n## Content\n\n```sh\n#!/bin/bash\n\n# 0. Comprobar que estamos en la rama \"main\"\ncurrent_branch=$(git symbolic-ref --short HEAD)\nif [[ \"$current_branch\" != \"main\" ]]; then\n  echo \"¡Estás en la rama $current_branch! Este script solo puede ejecutarse en la rama 'main'.\"\n  exit 1\nfi\n\n# 1. Hacer git add, git commit, git push en la rama actual\necho \"Añadiendo cambios...\"\ngit add .\nread -p \"Escribe tu mensaje de commit: \" commit_message\nif [[ -z \"$commit_message\" ]]; then\n  echo \"El mensaje de commit no puede estar vacío.\"\n  exit 1\nfi\ngit commit -m \"$commit_message\"\ngit push origin \"$current_branch\"\n\n# 2. Obtener la versión desde package.json\nversion=$(jq -r '.version' package.json)\nif [[ -z \"$version\" ]]; then\n  echo \"No se encontró la versión en package.json.\"\n  exit 1\nfi\n\n# 3. Crear la rama de versión v${version} (sobrescribir si ya existe)\nbranch_name=\"v$version\"\n\n# Verificar si la rama ya existe y eliminarla si es necesario\ngit branch -D \"$branch_name\" 2\u003e/dev/null # Eliminar rama local si existe\ngit push origin --delete \"$branch_name\" 2\u003e/dev/null # Eliminar rama remota si existe\n\n# Crear la nueva rama a partir de la rama actual\ngit checkout -b \"$branch_name\"\ngit push origin \"$branch_name\"\n\n# 4. Subir la nueva rama al remoto\necho \"Rama '$branch_name' creada y subida al remoto.\"\n\n# 5. Volver a la rama \"main\"\ngit checkout main\n\necho \"Vuelto a la rama 'main'.\"\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallnulled%2Fversionate.sh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fallnulled%2Fversionate.sh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallnulled%2Fversionate.sh/lists"}