November 25, 2021

Как настроить синхронизацию хранилища Obsidian бесплатно при помощи Git

Как настроить синхронизацию хранилища Obsidian бесплатно при помощи Git?

Оригинал статьи.

Гайд по установке личного Obsidian Sync с помощью Git.

Obsidian - это недавно появившееся и набирающее обороты приложение для заметок, которое имеет огромнейший потенциал, из-за чего возможности синхронизации достаточно ограничены. Официально, вы должны заплатить $4 $8 $10/мес. за Obsidian Sync.

Так как Obsidian позволяет свободно выбирать место сохранения хранилища и открыто хранить у себя файлы в таких форматах, как Markdown. Используя облачные сервисы синхронизации, такие как, например, Dropbox, Google Drive и iCloud Drive, целые папки могут быть синхронизированы и отредактированы при помощи таких приложений с поддержкой Markdown, как iA Writer, Ulysses, Pretext. Но таких функций, как двухстороннее линкование и теггинг там в наличии нет.

Но, даже несмотря на то, что облачные сервисы легко и просто настраиваются, многие люди, скорее всего, уже оформили себе подписки. Это сервисы были созданы не для отслеживания заметок и изменений. Конфликт версий между устройствами может привести к потере данных. Поэтому, я рекомендую Git как альтернативное решение. Этот оюучающий материал позволит вам настроить Git для синхронизации Obsidian бесплатно (и без печатания в командной строки, как в обычном Git'е).

Имейте в виду, что этот подход не рекомендуется, если у вас есть предубеждения по поводу безопасности, поскольку никакие файлоы не шифруются, из-за чего всё доступно сторонней платформе.

Что такое Git и как он помогает?

Примерный вид ветки (branch) в Git

Git - это ПО для отслеживания и синхронизации кодов для разработчиков. Поскольку он может сравнивать версии разных текстовых файлов, он позволит нам отслеживать любые изменения, внесенные в хранилище Obsidian. Существует очень редкая вероятность того, что ваши заметки будут потеряны. Кроме того, это также очень популярная платформа, большинство клиентов Git на ПК бесплатны (в то время как некоторые мобильные приложения могут потребовать оплаты).

Примечание: Первые 3 шага моего урока будут заключаться в создании репозитория Github. Если вы уже знакомы с Git, пожалуйста, запустите git самостоятельно и перейдите к шагу 4. Поскольку эта статья написана для широкой публики, я буду избегать использования инструментария из командной строки в этом руководстве.

Приступим!

1. Зарегистрируйтесь и скачайте Github for Desktop

Зарегистрируйте себе аккаунт на Github.com (либо войдите в свой уже существующий), так как мы будем использовать репозиторий Github, чтобы синхронизировать наше хранилище Obsidian. На всякий случай установите двухфакторную аутентификацию, чтобы обезопасить свой аккаунт. Затем, скачайие м установите Github for Desktop. Это приложение, которое позволит нам исполнять множест Git команд без прибегания к инструментарию командной строки.

2. Добавьте хранилище Obsidian в Github

Если вы уже создали хранилище Obsidian, то нам понадобится только лишь подготовить папки для Git. Это позволит плагину, который мы установим, синхронизироваться с Github. Откройте Github for Desktop, и нажмите "Добавить существующий репозиторий с вашего жесткого диска (Add an Existing Repository from your Hard Drive)".

Затем вам нужно выбрать местоположение хранилища, Git будет использовать дотфайлы (dotfiles, скрытые папки) для хранения данных в вашем каталоге (впоследствии вы можете просмотреть папку .git, нажав Cmd + Shift +. или включите отображение скрытых элементов в проводнике Windows). Появится предупреждение о том, что "Каталог не является репозиторием Git (The directory does not appear to be a Git repository)". Затем вам нужно будет нажать "Создать репозиторий (Create a repository)", чтобы продолжить.

Заметьте, что Git должен быть сохранён в корневую директорию хранилища, а не в какую-либо из подпапок.

Затем, введите имя и описание проекта, локальный путь уже должен быть заполнен. Остальные вопросы пока можно проигнорировать. Затем нажмите "Создать репозиторий (Create Repository)".

(Вы также можете нажать "Создать новое хранилище (Create a New Repository)" в начале, однако Github создаст подпапку, используя поле Name, вместо того, чтобы выбирать выбранную папку в качестве репозитория git. Поэтому вам нужно будет сопоставить имя папки на родительском уровне.)

3. Войдите и загрузите хранилище в Github

На данный момент мы только что завершили настройку git на компьютере. Добавьте сообщение о фиксации "Commit Message" (например, Initial Commit), а затем нажмите "Опубликовать репозиторий (Publish Repository)", чтобы загрузить всю папку на Github. Нам все равно нужно будет войти в вашу учетную запись на Github, нажмите"Github.com "для входа через браузер.

Обязательно отметьте галочку «Keep this code private», чтобы репоизторий был скрыт от остальных.

После входа в систему, снова нажмите Опубликовать (Publsih), далее нам нужно будет ввести имя репозитория на Github (такое же, как и имя во 2 шаге). Сделайте своё хранилище частным (по умолчанию оно общедоступно), чтобы избежать нежелательный доступ к вашим заметкам. Затем, нажмите "Опубликовать репозиторий (Publish Repository)". Когда текст кнопки "Опубликовать репозиторий " поменяется на "Fetch Origin" - поздравляем, вы успешно загрузили своё хранилище на Github! Можете перепроверить это в своем браузере, там вы сразу должны найти свой репозиторий на Github.com.

Примерно так оно должно выглядеть.

4. Скачайте Obsidian Git

Откройте настройки в вашем Obsidian на вкладке "Сторонние плагины", там вам нужно будет отключить безопасный режим перед установкой плагина, т.к. они могут получать доступ к содержимому вашего хранилища и изменять его. Лучше сделать резервную копию своего хранилища перед установкой. Найдите плагин "Obsidian Git" и скачайте его, после чего активируйте его на странице сторонних плагинов. Этот плагин будет напрямую использовать ваши настройки git в папке для синхронизации с Github.

После установки и активации, появятся настройки плагина для Obsidian Git. Если вы просто хотите просматривать содержимое Obsidian на других своих устройствах, то я бы порекомендовал следующее:
- Установите интервал резервного копирования 5-10 минут, чтобы снизить нагрузку приложения и повысить производительность
- Включите настройку "Pull updates on startup". Это позволит вам убедиться, что ваши устройства успешно синхронизируются всякий раз, когда приложение запускается.
- Добавьте имя вашего устройства в качестве идентификатора в шаблон сообщения о фиксации, чтобы вы могли понимать, с какого устройства в данный момент пришло последнее обновление (например: резервная копия хранилища ПК: {{date}})
- И самое важное: отключите функцию "Disable Push", чтобы включить отправку этих пушей на Github, иначе она будет доступна только в локальной сети.

Также, на странице "Сочетания клавиш" я добавил команду для Obsidian Git, чтобы я мог быстро сделать бекап вручную: Cmd+Shift+= для Commit'а, Cmd+Shift+- для загрузки данных из репозитория.

Теперь попробуйте добавить заметку, используйте своё сочетание клавиш, либо подождите некоторое время. в правом нижнем углу плагин будет показывать статус вашего commit'а! Теперь, мы успешно засинхронизировались с Github!

5. Используйте Obsidian на других устройствах

Теперь, всё что вам нужно - это скачать Obsidian и Github for Desktop на другой компьютер, склонировать только что созданный депозиторий, и повторить шаги от 1 до 4, чтобы настроить Git и Obsidian Git. Ваши компьютеры будут синхронизированы автоматически.

Для телефонов, нам понадобится приложение с поддержкой Git для того, чтобы читать или писать заметки.
- Если вам понадобиться только читать - Официальное приложение Github, где можно просмотреть все свои репозитории.
- Для записи И чтения - Working Copy, бесплатное приложение, Pro-версия которого стоит $19,99 (₽1790), хотя это единоразовый платёж. В дополнение к этому, вам понадобится какое-либо приложение, по типу того же Pretext или iAWriter, которое поддерживает Файлы и открытие Markdown-файлов оттуда.

Как решить ошибки с синхронизацией в Obsidian Git?

Даже если вы настроите синхронизацию, все равно может возникнуть конфликт, подобный приведенному ниже снимку экрана. Нам придётся воспользоваться Github for Desktop, чтобы разрешить сей конфликт.

Obsidian Git не показывает, откуда идёт ошибка, но зато это показывается более ясно в Github for Desktop.

В большинстве случаев, Github порекомендует вам отложить конфликтные файлы, после чего сделать pull и применить отложенные изменения. Проследите по скриншотам ниже: сначала нажмите "Stash & Continue", затем "Pull Origin" и "View Stashed after pulling", после чего вы сможете восстановить изменения. Наконец, сделайте commit вручную в Github и сделайте push. Это, как правило, также разрешит конфликт. Если конфликт находится в пределах какой-то одной строки, то вам придётся удалить ошибку вручную в Obsidian.

Stash Changes сохранит ваши конфликтные файлы, и вы сможете восстановить их позже.

Заключение

На данный момент, я в исследовательской стадии пользования Obsidian. Сделать так, чтобы заметки синхронизировались это только первый шаг, но я чувствую, что у Obsidian имеется большой потенциал. Это не замена Evernote или Notion, но что-то нечто больше.

Плагины сообщества это тоже большая часть экосистемы, которая как позволяет менять оформление, так и улучшать свою продуктивность. Например, Day Planner совмещает Markdown с календарём, служа как персональный ежедневник. Я буду рад поделиться ещё своим опытом в Obsidian, если у вас появятся вопросы - не стесняйтесь задать их в Твиттере.