Синхронизировать локальные файлы с Google
Синхронизируйте локальные файлы с Google Drive, проверяйте конфликты и выбирайте нужную версию.
Зеркало связывает локальную папку с папкой Google: вы храните Markdown или таблицы на компьютере, а коллеги работают с ними в Google Документах или Таблицах. Синхронизация отправляет локальные изменения и возвращает поддерживаемые правки из Google. При конфликте она предлагает выбрать сторону.
Когда достаточно Markdown-файла в Диске
Google Документы теперь открывают файлы .md напрямую: люди читают и правят их в Документах, а файл остаётся
Markdown. Положите файл в Диск командой drive personal files upload или через приложение Google для компьютера,
и drive personal sync прочитает его, как любой другой документ. Зеркало не нужно, если правят люди и файл
может меняться так, как его записывают Документы.
Зеркало нужно, когда:
- программа или вы в локальном редакторе продолжаете менять документ, пока люди правят его и в Google. Google позволяет программам менять Markdown-файл только целиком, а Google Документ зеркала принимает небольшие правки рядом с их правками;
- комментарии не должны попадать в файл. Документы записывают комментарий в сам файл
.md, с именем автора и текстом, поэтому он уходит туда же, куда файл, в том числе в git-репозиторий; - CSV-файл должен стать Таблицей.
Проверки, на которых это основано, лежат в cli-testing: что программы могут делать с файлом и что правка в Документах записывает в него.
Подключить папку
Войдите в профиль с разрешением Google на запись, затем выберите локальную папку и назначение:
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.
Локальные изображения
Локальное изображение, например , остаётся в Документе этим текстом; изображение со
ссылкой https:// появляется как картинка. Google Документы вставляют изображение, только скачав его с публичного
веб-адреса как анонимный посетитель, поэтому закрытый файл, на компьютере или в вашем Диске, в Документ не попадёт.
Выбрать сторону после конфликта
Если одна часть изменилась с обеих сторон, синхронизация сообщает о конфликте и завершается с частичным результатом. Перед выбором проверьте локальный файл и документ Google:
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 не удаляет локальный источник; синхронизация не создаёт его заново без вашего решения. Проверив удалённое, запустите:
drive personal mirrors sync MIRROR_ID --replace--replace выбирает локальную сторону и заново создаёт отсутствующие файлы Google.
Он несовместим с --keep google и --keep both. После переименования или переноса может остаться
старая копия Google: проверяйте отчёт об оставшихся копиях, не ожидая переноса удалений между системами.
Чтобы остановить зеркало, не удаляя локальные файлы и файлы Google:
drive personal mirrors remove MIRROR_IDЗеркало не импортирует назначение в поиск. Для поиска этих файлов Google без подключения отдельно
выберите папку через folders add и выполните sync, как описано в импорте и организации.
О доступе агента только на чтение см. разрешения.