diff --git a/scripts/push-remotes.sh b/scripts/push-remotes.sh index 6582731..88ba407 100755 --- a/scripts/push-remotes.sh +++ b/scripts/push-remotes.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# Push README.md с правильным содержимым на каждый remote (истории README расходятся). +# Push README.md с правильным содержимым на каждый remote (ветки README расходятся). set -Eeuo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" @@ -11,23 +11,26 @@ push_readme() { local remote=$1 local template=$2 local message=$3 + local branch="push-${remote}-readme" + + git fetch "$remote" + git checkout -B "$branch" "${remote}/main" cp "$template" README.md git add README.md if git diff --cached --quiet; then - echo "[push-readme] $remote: README без изменений, push текущего HEAD" + echo "[push-readme] $remote: README без изменений" else git commit -m "$message" fi - if [[ $remote == github ]] && [[ -x $CHECK_SECRETS || -f $CHECK_SECRETS ]]; then + if [[ $remote == github ]] && [[ -f $CHECK_SECRETS ]]; then bash "$CHECK_SECRETS" github fi - git push "$remote" main - git reset --hard HEAD~1 + git push "$remote" "${branch}:main" + git checkout main + git branch -D "$branch" } -BASE="$(git rev-parse HEAD)" -echo "[push-readme] база: $BASE" - +echo "[push-readme] kalinamall: push текущего main" git push kalinamall main push_readme home "$ROOT/scripts/readme/home.md" "docs: README для home (git.papatramp.ru)" @@ -35,7 +38,9 @@ push_readme github "$ROOT/scripts/readme/github.md" "docs: README для GitHub cp "$ROOT/scripts/readme/kalinamall.md" README.md git add README.md -git commit -m "docs: README для kalinamall (рабочая копия)" || true +if ! git diff --cached --quiet; then + git commit -m "docs: README для kalinamall (рабочая копия)" +fi git push kalinamall main -echo "[push-readme] готово. GitHub/home — отдельные коммиты README; локально — kalinamall." +echo "[push-readme] готово."