Установка и настройка плагина Git для Obsidian


  1. Перейдите в настройки Obsidian ⚙︎

  1. В поле для поиска введите git установить включить


Info

Эта инструкция поможет настроить доступ к вашему GitHub-репозиторию, чтобы плагин Git в Obsidian мог автоматически выполнять синхронизацию и команды commit/push/pull.

Теперь настроим доступ плагина к репозиторию:

1. Настройка Personal Access Token (PAT):

Personal Access Token заменяет пароль для использования HTTPS. Вот как его настроить:

  1. Перейдите на страницу Personal Access Tokens на GitHub.
  2. Нажмите “Generate new token” (или “Generate new token (classic)”, если используется классический формат).
  3. Укажите описание токена, чтобы вы могли позже понять, для чего он был создан (например, “Obsidian Git Plugin”).
  4. В разделе Scopes установите галочку на repo (это даст токену доступ к вашим репозиториям).
  5. Нажмите “Generate token”.
  6. Скопируйте сгенерированный токен. Важно: Он будет показан только один раз. Сохраните его в безопасном месте.

2. Настройка Credential Helper в Git:

Настройка Credential Helper, чтобы Git мог запомнить ваш токен и использовать его автоматически:

  1. Откройте терминал.
  2. Введите команду:
git config --global credential.helper store

Альтернативы:

  • macOS: git config --global credential.helper osxkeychain
  • Windows: git config --global credential.helper manager-core
  • Использование store сохраняет токен в текстовом файле в незашифрованном виде, что может быть небезопасно для публичных компьютеров.

Это активирует Credential Helper, чтобы сохранить ваши учетные данные.


3. Вручную выполните push из терминала:

Теперь нужно вручную выполнить git push, чтобы сохранить ваши учетные данные:

  1. Перейдите в каталог вашего репозитория:
cd /путь/к/вашему/репозиторию
  1. Выполните команду для push изменений:
git push
  1. Git запросит логин и пароль:

    • Введите ваш GitHub username.
    • В качестве пароля введите скопированный Personal Access Token.
  2. После успешного выполнения команды ваши учетные данные будут сохранены.


4. Настройка плагина Git

  • Убедитесь, что плагин Git установлен и активирован:
    • Откройте Obsidian → Настройки → Community Plugins → Установите и включите плагин git.
  • Перейдите в настройки плагина:
    • Включите Pull changes on startup, чтобы автоматически подтягивать изменения при запуске.
    • Задайте расписание для автоматического коммита и пуша изменений:
1. Перейдите в настройки плагина

2. Настройка автоматической синхронизации:
  • Установите значение в поле Auto commit-and-sync interval на 5 (или любое другое значение больше 0), чтобы включить автоматический коммит и синхронизацию каждые 5 минут после остановки редактирования.
  • Активируйте параметр Auto commit-and-sync after stopping file edits для автоматического коммита изменений сразу после завершения редактирования файлов.
  • Установите значение в поле Auto pull interval на 1, чтобы изменения из удалённого репозитория подтягивались каждую минуту.

3. Активируйте Pull on startup:
  • Изменения из удаленного репозитория будут автоматически подтягиваться при запуске Obsidian, чтобы гарантировать синхронизацию перед началом работы.
4. Активируйте Push on commit-and-sync:
  • После каждого commit-and-sync изменения будут автоматически пушиться в удаленный репозиторий.
5. Активируйте Pull on commit-and-sync:
  • При выполнении команды commit-and-sync будут автоматически подтягиваться изменения из удалённого репозитория перед выполнением коммита и пуша, это предотвращает конфликты в случае, если кто-то внёс изменения в удалённый репозиторий.


5. Использование с плагином Obsidian Git:

Done

После выполнения описанных выше шагов плагин Obsidian Git автоматически использует сохраненные учетные данные при синхронизации и выполнении commit/push/pull, а так же выполняет автоматическую синхронизацию с удаленным репозиторием каждые 5 минут после прекращения редактирования документа.

Для управления Git-репозиторием вручную через плагин Git в Obsidian, выполните следующие шаги:

1. Найдите значок плагина Git

  • В панели слева найдите значок плагина Git (см. красную стрелку на изображении).
  • Нажмите на него, чтобы открыть меню управления Git.

2. Изучите меню справа После нажатия на значок плагина Git справа появится панель действий и текущий статус репозитория:

  • Список изменений: отображаются файлы, которые были изменены, но ещё не закоммичены.
    • Изменённые файлы отмечаются буквой M (Modified).
    • Новые файлы или неотслеживаемые файлы отображаются с другим статусом, например U (Untracked).

  • Доступные действия (соответствуют цифрам на скриншоте):
1. Commit and Sync
  • Создаёт коммит и синхронизирует изменения с удалённым репозиторием.
  • Это эквивалент последовательного выполнения commit, pull, и push в одном действии.
2. Commit
  • Создаёт коммит локально в репозитории с текущими добавленными изменениями (в Staged Changes).
  • Не отправляет изменения в удалённый репозиторий.
3. Stage All
  • Добавляет все изменения (изменённые и новые файлы) в индекс (staged changes), чтобы они были готовы для коммита.
  • Эквивалентно выполнению git add ..
4. Unstage All
  • Убирает все изменения из индекса (staged changes), возвращая их в состояние unstaged.
  • Эквивалентно выполнению git restore --staged.
5. Push
  • Отправляет закоммиченные изменения в удалённый репозиторий.
  • Эквивалент команды git push.
6. Pull
  • Получает последние изменения из удалённого репозитория и синхронизирует их с локальной копией.
  • Эквивалент команды git pull.
7. Change Layout
  • Изменяет вид отображения панели плагина Git. Например, позволяет перестроить порядок элементов в интерфейсе для удобства.
8. Refresh
  • Обновляет статус репозитория, чтобы отобразить текущие изменения, коммиты и статус удалённого репозитория.
  • Эквивалент команды git status.

Полезные сценарии использования:

По ручному использованию плагина Git

  • Если вы хотите быстро синхронизировать изменения:
    Нажмите Commit and Sync для автоматического коммита, получения новых изменений (pull) и отправки ваших изменений (push).

  • Если хотите создать промежуточный коммит без отправки:
    Используйте Stage All, затем Commit.

  • Если нужно синхронизировать репозиторий:
    Выполните Pull, затем Push для синхронизации локальных изменений с удалённым репозиторием.

  • Если позже вам потребуется заменить токен, просто повторите шаги 1–3 настройки Personal Access Token.

По Credential Helper:

  • Чтобы проверить текущую конфигурацию Credential Helper, выполните:
git config --get credential.helper
  • Если вы хотите удалить сохраненные данные и перенастроить токен:
git credential-cache exit
  • После настройки убедитесь, что ваш токен действует, выполнив:
git pull

Теперь ваш Personal Access Token настроен, и плагин Obsidian Git сможет работать с вашими репозиториями!


Возможные ошибки и их решения

Ошибки и уведомления

При использовании плагина Obsidian Git все ошибки и уведомления отображаются в правом верхнем углу во всплывающем окошке. Это может включать:

  • Успешные сообщения (например, завершение Commit and Sync).
  • Предупреждения о конфликтах или необходимости ручного вмешательства.
  • Сообщения об ошибках (например, проблемы с токеном или синхронизацией).

1. Ошибка: “Aborting commit due to empty commit message”

  • Описание: Вы пытаетесь выполнить коммит, но не указано сообщение для коммита.
  • Решение:
    1. Убедитесь, что поле для сообщения коммита заполнено перед выполнением действия.
    2. Вы можете настроить сообщение по умолчанию в настройках плагина Obsidian Git:
      • Перейдите в Settings → Community Plugins → Obsidian Git.
      • В поле Commit message on auto commit-and-sync укажите шаблон сообщения (например: Obsidian auto commit: {{date}}).
      • В поле Commit message on manual commit-and-sync укажите шаблон сообщения (например: Obsidian manual commit: {{date}}).

2. Ошибка: “Merge conflict” (конфликты слияния)

  • Описание: При попытке выполнить pull из удалённого репозитория возникает конфликт между локальными изменениями и изменениями из удалённого репозитория.
  • Решение:
    1. Используйте кнопку Pull для загрузки изменений.
    2. Если конфликт возник:
      • Откройте файл(ы), где указана ошибка конфликта, и вручную решите проблему, удалив или оставив нужные изменения.
      • После этого выполните Stage All, затем Commit and Sync.

3. Ошибка: “fatal: could not read Username for ‘https://github.com’”

  • Описание: Плагин не может получить доступ к вашему GitHub-аккаунту.
  • Решение:
    1. Проверьте, что вы настроили Personal Access Token для HTTPS-доступа.
    2. Убедитесь, что токен сохранён в системе:
      git config --get credential.helper
    3. Если проблема сохраняется, повторите настройку токена, описанную в разделе Настройка Personal Access Token.

4. Ошибка: “Permission denied”

  • Описание: У вас нет прав на запись в удалённый репозиторий.
  • Решение:
    1. Проверьте, используете ли вы правильный токен с доступом к репозиторию (с правами на write).
    2. Убедитесь, что вы являетесь владельцем или приглашены как коллаборатор в репозиторий.

5. Ошибка: “Pull failed”

  • Описание: Обновления из удалённого репозитория не могут быть синхронизированы из-за блокировки файлов или других ошибок.
  • Решение:
    1. Проверьте, что вы завершили все локальные изменения и сохранили файлы.
    2. Попробуйте выполнить:
      git pull --rebase
    3. Если проблема сохраняется, проверьте, есть ли активные процессы, блокирующие файлы.

6. Ошибка: “Auto commit-and-sync не работает”

  • Описание: Плагин не выполняет автоматическую синхронизацию.
  • Решение:
    1. Проверьте, что в настройках плагина включён параметр Auto commit-and-sync interval и установлен интервал, отличный от 0.
    2. Убедитесь, что вы активировали Auto commit-and-sync after stopping file edits.

7. Ошибка: “Обновления не отображаются после Pull”

  • Описание: Вы выполнили pull, но изменения не отображаются в Obsidian.
  • Решение:
    1. Нажмите кнопку Refresh в меню плагина Git.
    2. Перезапустите Obsidian, если проблема сохраняется.

Полезные советы

  • Регулярно синхронизируйте изменения: Используйте Commit and Sync, чтобы минимизировать вероятность конфликтов.
  • Используйте автоматические коммиты: Это поможет избежать забывания о необходимости синхронизации.
  • Создавайте резервные копии репозитория: Это полезно при серьёзных ошибках, которые могут привести к потере данных.