Read in:
Русский

Доступ по Git

Ваш сайт на trip2g — это ещё и git-репозиторий. Клонируйте его, правьте заметки любым редактором или агентом, пушьте обратно — сервер применит коммиты к живому сайту.

git clone https://your-site.com/_system/git my-site
# Username: user
# Password: <git-токен>

Без плагина и специального CLI. Всё, что умеет git — ноутбук, CI-джоба, кодинг-агент — может читать и писать сайт.

Когда это нужно

  • Агенты и CI. Claude Code, Codex или пайплайн клонирует базу, правит markdown, коммитит, пушит. Обычный git, обычный код-ревью.
  • Массовые правки. Переименовать тег в 200 заметках через sed, проверить diff, запушить одним разом.
  • Полная локальная копия. git clone забирает все заметки и файлы одной командой, git pull держит копию свежей.

Для ежедневной работы в Obsidian удобнее плагин синхронизации — git нужен для инструментов, автоматизации и массовых операций.

Настройка: создайте Git-токен

  1. Откройте https://your-site.com/adminIntegrationsGit tokens.
  2. Создайте токен с описанием. Значение показывается один раз — сохраните его.

Аутентификация — HTTP Basic поверх clone-URL: имя пользователя всегда user, пароль — токен. Для скриптов вшейте его в URL:

git clone https://user:YOUR_TOKEN@your-site.com/_system/git my-site

Что лежит в репозитории

  • Все видимые заметки (.md и .html) и их файлы (картинки, вложения) — по тем же путям, что и в вашей базе.
  • Одна ветка: master. Только её сервер и принимает — пуш в любую другую ветку отклоняется.
  • Правки на сервере (синхронизация плагином, браузерный редактор, агенты через GraphQL) появляются коммитами server sync.

Пуш изменений обратно

cd my-site
vim blog/post.md
git add -A
git commit -m "fix typo"
git push

При пуше сервер берёт diff ваших коммитов и применяет к сайту:

  • Изменённые и новые .md / .html обновляют заметки.
  • Удалённые .md / .html скрывают заметки на сайте.
  • Если применить не удалось, пуш откатывается — репозиторий никогда не расходится с сайтом.

Принимаются только fast-forward-пуши. Если сайт правили после вашего последнего pull, пуш отклонится — сделайте rebase и повторите:

git pull --rebase
git push

База данных первична — git только зеркало

Источник истины — база данных сайта. Git-репозиторий — зеркало, которое пересобирается из неё при каждом clone, pull и push, так что вы всегда получаете актуальное состояние. Следствия:

  • История грубая. Правки через плагин или редактор склеиваются в коммиты-снимки server sync. Полного поштучного журнала правок в git-истории нет — это не история редактирования сайта.
  • Файлы через git — только на чтение. Пуш картинки или другого бинарного файла ничего не делает: сервер применяет только изменения .md и .html. Загружайте файлы через плагин Obsidian или sync CLI — после этого они появятся в зеркале.
  • Ни force-push, ни веток. Сервер принимает только fast-forward в master.

Пример: агент правит сайт

git clone https://user:$GIT_TOKEN@your-site.com/_system/git site
cd site
# ... агент правит markdown ...
git add -A
git commit -m "agent: update FAQ"
git push   # изменения на сайте, как только пуш прошёл

Пример: всегда свежее зеркало

# в cron, рядом с остальными бекапами
cd /backups/site && git pull

Каждый pull материализует в зеркало актуальное состояние сайта — копию всех заметок и файлов обычными файлами, восстанавливаемую любым git-клиентом.