# Синхронизировать локальные файлы с Google (/ru/docs/drive/mirrors)

Зеркало связывает локальную папку с папкой Google: вы храните Markdown или таблицы на компьютере,
а коллеги работают с ними в Google Документах или Таблицах. Синхронизация отправляет локальные
изменения и возвращает поддерживаемые правки из Google. При конфликте она предлагает выбрать сторону.

## Когда достаточно Markdown-файла в Диске [#когда-достаточно-markdown-файла-в-диске]

Google Документы теперь открывают файлы `.md` напрямую: люди читают и правят их в Документах, а файл остаётся
Markdown. Положите файл в Диск командой `drive personal files upload` или через приложение Google для компьютера,
и `drive personal sync` прочитает его, как любой другой документ. Зеркало не нужно, если правят люди и файл
может меняться так, как его записывают Документы.

Зеркало нужно, когда:

* программа или вы в локальном редакторе продолжаете менять документ, пока люди правят его и в Google.
  Google позволяет программам менять Markdown-файл только целиком, а Google Документ зеркала принимает
  небольшие правки рядом с их правками;
* комментарии не должны попадать в файл. Документы записывают комментарий в сам файл `.md`, с именем
  автора и текстом, поэтому он уходит туда же, куда файл, в том числе в git-репозиторий;
* CSV-файл должен стать Таблицей.

Проверки, на которых это основано, лежат в cli-testing:
[что программы могут делать с файлом](https://github.com/WireCatLabs/cli-testing/tree/main/performance/documents/native-markdown)
и [что правка в Документах записывает в него](https://github.com/WireCatLabs/cli-testing/blob/main/performance/documents/drive-push/README.md#google-docs-own-markdown-editing-2026-10-23).

## Подключить папку [#подключить-папку]

Войдите в профиль с разрешением Google на запись, затем выберите локальную папку и назначение:

```sh
drive personal session start --grant write
drive personal mirrors add ./notes --parent FOLDER_ID
drive personal mirrors list
drive personal mirrors status
drive personal mirrors sync
```

Замените `personal` именем подключённого профиля. `FOLDER_ID` — ID или URL папки Google Drive.
Добавление зеркала проверяет назначение и сохраняет связь локально. Первая синхронизация создаёт
Google Документы для `.md` и `.markdown` и Google Таблицы для `.csv`, `.tsv` и `.xlsx`.
Локальные подпапки становятся папками Google. Другие типы файлов учитываются как неподдерживаемые.

`mirrors status` проверяет локальные файлы и сохранённое состояние без обращения к Google.
Он не показывает, изменил ли коллега документ в интернете. `mirrors list` показывает ID зеркал и папки.
Передайте ID зеркала в `status` или `sync`, чтобы выбрать одно зеркало; без ID выбраны все зеркала профиля.

## Синхронизировать в обе стороны [#синхронизировать-в-обе-стороны]

После редактирования снова запустите `mirrors sync`. Для Markdown Drive сравнивает блоки документа
с последней синхронизацией: изменения разных частей можно объединить, а неизменённый текст
сохраняет комментарии Google. Правки ячеек Google возвращаются в CSV или TSV. Локальные изменения
XLSX отправляются в Google Таблицы, но правки из Таблиц не записываются обратно в XLSX.

Зеркало таблицы управляет диапазоном, который записало сначала. Оно обновляет его, сохраняя соседние
ячейки и посторонние листы. Первая строка становится закреплённым полужирным заголовком.
Проверяйте результат, если важны формулы, оформление или структура книги: зеркало не заменяет
полную резервную копию документа Google.

## Локальные изображения [#локальные-изображения]

Локальное изображение, например `![chart](pics/chart.png)`, остаётся в Документе этим текстом; изображение со
ссылкой `https://` появляется как картинка. Google Документы вставляют изображение, только скачав его с публичного
веб-адреса как анонимный посетитель, поэтому закрытый файл, на компьютере или в вашем Диске, в Документ не попадёт.

## Выбрать сторону после конфликта [#выбрать-сторону-после-конфликта]

Если одна часть изменилась с обеих сторон, синхронизация сообщает о конфликте и завершается
с частичным результатом. Перед выбором проверьте локальный файл и документ Google:

```sh
drive personal mirrors sync MIRROR_ID --keep local
drive personal mirrors sync MIRROR_ID --keep google
drive personal mirrors sync MIRROR_ID --keep both
```

`--keep local` выбирает локальное содержимое конфликта. `--keep google` выбирает содержимое Google,
если его можно записать обратно: Markdown, CSV или TSV. Для Markdown `--keep both` сохраняет обе
конфликтующие версии; затем проверьте объединённый текст. Для одних и тех же ячеек Таблицы нельзя
сохранить обе версии: выберите локальную или Google. Если Таблица зеркала XLSX изменилась,
нужно выбрать `--keep local`.

Документ с непринятыми предложениями правок отклоняется даже с `--keep`: сначала примите или
отклоните их в Google, затем повторите команду. Правки вне поддерживаемых блоков Markdown
может потребоваться проверить вручную.

## Удаление и остановка [#удаление-и-остановка]

Удаление локального файла не отправляет его копию Google в корзину. Удаление файла Google
не удаляет локальный источник; синхронизация не создаёт его заново без вашего решения.
Проверив удалённое, запустите:

```sh
drive personal mirrors sync MIRROR_ID --replace
```

`--replace` выбирает локальную сторону и заново создаёт отсутствующие файлы Google.
Он несовместим с `--keep google` и `--keep both`. После переименования или переноса может остаться
старая копия Google: проверяйте отчёт об оставшихся копиях, не ожидая переноса удалений между системами.

Чтобы остановить зеркало, не удаляя локальные файлы и файлы Google:

```sh
drive personal mirrors remove MIRROR_ID
```

Зеркало не импортирует назначение в поиск. Для поиска этих файлов Google без подключения отдельно
выберите папку через `folders add` и выполните `sync`, как описано в [импорте и организации](/llms.mdx/docs/ru/drive/usage/content.md).
О доступе агента только на чтение см. [разрешения](/llms.mdx/docs/ru/drive/security/content.md#google-access-and-command-permissions).
