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}"
|
log "Выравнивание владельца ${APP_ROOT} → ${APP_USER}:${APP_USER}"
|
||||||
chown -R "${APP_USER}:${APP_USER}" "${APP_ROOT}"
|
chown -R "${APP_USER}:${APP_USER}" "${APP_ROOT}"
|
||||||
|
|
||||||
log "git pull"
|
log "git fetch + sync"
|
||||||
sudo -u "${APP_USER}" git -C "${APP_ROOT}" pull --ff-only
|
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
|
if [ ! -f "${CONFIG_FILE}" ]; then
|
||||||
die "Нет конфига: ${CONFIG_FILE}"
|
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`
|
Установка скрипта (один раз): `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-деплой).
|
Подробности: [install-ubuntu-24.04-native.md §13](install-ubuntu-24.04-native.md#13-обновление-sac-деплой).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user