fix(deploy): recover from diverging git after force-push on kalinamall
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+13
-2
@@ -30,8 +30,19 @@ fi
|
||||
log "Выравнивание владельца ${APP_ROOT} → ${APP_USER}:${APP_USER}"
|
||||
chown -R "${APP_USER}:${APP_USER}" "${APP_ROOT}"
|
||||
|
||||
log "git pull"
|
||||
sudo -u "${APP_USER}" git -C "${APP_ROOT}" pull --ff-only
|
||||
log "git fetch + sync"
|
||||
sudo -u "${APP_USER}" git -C "${APP_ROOT}" fetch --prune
|
||||
|
||||
if sudo -u "${APP_USER}" git -C "${APP_ROOT}" pull --ff-only 2>/dev/null; then
|
||||
log "git: fast-forward OK"
|
||||
else
|
||||
UPSTREAM="$(sudo -u "${APP_USER}" git -C "${APP_ROOT}" rev-parse --abbrev-ref '@{u}' 2>/dev/null || true)"
|
||||
if [ -z "${UPSTREAM}" ]; then
|
||||
UPSTREAM="origin/main"
|
||||
fi
|
||||
log "WARN: fast-forward невозможен (часто после force-push на kalinamall) — reset --hard ${UPSTREAM}"
|
||||
sudo -u "${APP_USER}" git -C "${APP_ROOT}" reset --hard "${UPSTREAM}"
|
||||
fi
|
||||
|
||||
if [ ! -f "${CONFIG_FILE}" ]; then
|
||||
die "Нет конфига: ${CONFIG_FILE}"
|
||||
|
||||
@@ -115,6 +115,15 @@ sudo /opt/sac-deploy.sh
|
||||
|
||||
Установка скрипта (один раз): `sudo cp /opt/security-alert-center/deploy/sac-deploy.sh /opt/sac-deploy.sh && sudo chmod 755 /opt/sac-deploy.sh`
|
||||
|
||||
После **force-push** на git.kalinamall.ru обычный `git pull` на сервере падает с «diverging branches». Скрипт `sac-deploy.sh` (актуальная версия) делает `fetch` и при необходимости `reset --hard` к upstream. **Один раз вручную**, если на сервере ещё старый скрипт:
|
||||
|
||||
```bash
|
||||
sudo -u sac git -C /opt/security-alert-center fetch --prune
|
||||
sudo -u sac git -C /opt/security-alert-center reset --hard origin/main
|
||||
sudo cp /opt/security-alert-center/deploy/sac-deploy.sh /opt/sac-deploy.sh
|
||||
sudo /opt/sac-deploy.sh
|
||||
```
|
||||
|
||||
Подробности: [install-ubuntu-24.04-native.md §13](install-ubuntu-24.04-native.md#13-обновление-sac-деплой).
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user