--- name: git_push_all_remotes kind: function lang: bash domain: shell version: "1.0.0" purity: impure signature: "git_push_all_remotes([--message msg: string]) -> void" description: "Hace commit de todos los cambios pendientes (git add -A + git commit) y pushea la rama actual a todos los remotes configurados. Si no hay cambios solo pushea. Requiere --message si hay cambios sin commitear." tags: [bash, git, push, remote, all, pendiente-usar] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: [] params: - name: --message desc: "mensaje de commit a usar si hay cambios pendientes (requerido cuando hay cambios)" output: "progreso del push a stdout por cada remote; exit code 1 si algún push falla" tested: false tests: [] test_file_path: "" file_path: "bash/functions/shell/git_push_all_remotes.sh" source_repo: "https://gitea-dgg044oo04woo4ggcsws4gk0.organic-machine.com/egutierrez/DevLauncher.git" source_license: "MIT" source_file: "scripts/linux/git_utils/push_todos_remotes.sh" --- ## Ejemplo ```bash source bash/functions/shell/git_push_all_remotes.sh # Solo push (sin cambios pendientes) git_push_all_remotes # Commit + push a todos los remotes git_push_all_remotes --message "feat: nueva funcionalidad" ``` ## Notas Usa `--set-upstream` automáticamente si la rama no existe en el remote. Sale con exit code 1 si hay cambios pero no se pasa `--message`, o si algún push falla.