chore: adiciona .gitignore e commit.command
This commit is contained in:
Executable
+59
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
# Commit-only — commita e envia (push) o branch atual do repositório.
|
||||
# Não mexe em produção.
|
||||
#
|
||||
# Usage:
|
||||
# ./commit.sh # mensagem genérica
|
||||
# ./commit.sh "sua mensagem" # mensagem customizada
|
||||
|
||||
set -euo pipefail
|
||||
DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
source "$DIR/lib/common.sh"
|
||||
|
||||
require_project_dir
|
||||
cd "$PROJECT_DIR"
|
||||
|
||||
BRANCH="$(git rev-parse --abbrev-ref HEAD)"
|
||||
|
||||
info "Verificando alterações locais em $PROJECT_DIR (branch: $BRANCH)..."
|
||||
if [ -z "$(git status --porcelain)" ]; then
|
||||
ok "Nada para commitar."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Mensagem do commit: prioridade
|
||||
# 1) argumento explícito do script
|
||||
# 2) conteúdo de code/commit-desc.txt (a IA mantém o resumo do que foi feito)
|
||||
# 3) mensagem genérica
|
||||
COMMIT_MSG="${1:-}"
|
||||
USED_DESC_FILE=false
|
||||
if [ -z "$COMMIT_MSG" ] && [ -s "$PROJECT_DIR/commit-desc.txt" ]; then
|
||||
COMMIT_MSG="$(cat "$PROJECT_DIR/commit-desc.txt")"
|
||||
USED_DESC_FILE=true
|
||||
fi
|
||||
COMMIT_MSG="${COMMIT_MSG:-chore: update}"
|
||||
|
||||
info "Commitando alterações..."
|
||||
git add -A
|
||||
|
||||
# Se a mensagem tiver múltiplas linhas, usa a primeira como título e o resto
|
||||
# como corpo (git commit -m -m).
|
||||
SUBJECT="$(printf '%s\n' "$COMMIT_MSG" | awk 'NF{print; exit}')"
|
||||
BODY="$(printf '%s\n' "$COMMIT_MSG" | sed '1d' | awk 'NF' | tr '\n' ' ' | sed 's/ *$//')"
|
||||
if [ -n "$BODY" ]; then
|
||||
git commit -m "$SUBJECT" -m "$BODY"
|
||||
else
|
||||
git commit -m "$SUBJECT"
|
||||
fi
|
||||
|
||||
# Esvazia commit-desc.txt depois que a mensagem já está presa no commit, pra
|
||||
# não reaparecer numa próxima chamada e virar a mensagem de um commit
|
||||
# seguinte que não tem nada a ver com ela.
|
||||
if [ "$USED_DESC_FILE" = true ]; then
|
||||
: > "$PROJECT_DIR/commit-desc.txt"
|
||||
fi
|
||||
|
||||
info "Enviando para o Gitea (origin/$BRANCH)..."
|
||||
git push origin "$BRANCH"
|
||||
|
||||
ok "Commit concluído em '$BRANCH'."
|
||||
Reference in New Issue
Block a user