Поделиться через


Управление версиями Git для записных книжек (устаревшая версия)

Внимание

Поддержка интеграции с устаревшей записной книжкой Git была удалена 31 января 2024 г. Databricks рекомендует использовать папки Databricks Git для синхронизации работы в Databricks с удаленным репозиторием Git.

В этой статье описывается настройка управления версиями Git для записных книжек (устаревшая функция). Вы также можете использовать ИНТЕРФЕЙС командной строки Databricks или API рабочей области для импорта и экспорта записных книжек и выполнения операций Git в локальной среде разработки.

Включение и отключение управления версиями Git

По умолчанию управление версиями включено. Чтобы переключить этот параметр, выполните следующие действия.

  1. Перейдите к параметрам Параметры> Workspace.
  2. В разделе "Дополнительно" отключите переключатель "Управление версиями Записной книжки Git".

Настройка системы управления версиями

Чтобы настроить управление версиями, создайте учетные данные доступа в поставщике Git, а затем добавьте эти учетные данные в Azure Databricks.

Работа с версиями записной книжки

Вы работаете с версиями записной книжки на панели журнала. Откройте панель журнала, щелкнув Значок журнала версий в правой боковой панели.

История версий

Примечание.

Изменить записную книжку, пока открыта панель журнала, невозможно.

  1. Щелкните Значок журнала версий в правой боковой панели. В строке состояния Git отобразится надпись Git: не связано.

    Панель состояния Git

  2. Нажмите надпись Git: не связано.

    Откроется диалоговое окно параметров Git. При первом открытии записной книжки отображается состояние Удалить связь, так как записная книжка не находится в GitHub.

    Параметры Git — привязка новой записной книжки

  3. В поле "Состояние" щелкните Связать.

  4. В поле "Связать" вставьте URL-адрес репозитория GitHub.

  5. Щелкните раскрывающийся список Ветвь и выберите существующую ветвь или введите имя новой.

  6. В поле папки "Путь" в Git укажите место в репозитории для хранения файла.

    Для записных книжек Python оставьте расширение файла по умолчанию .py. Если вы используете .ipynb, записная книжка будет сохранена в формате записной книжки IPython. Если файл уже существует на GitHub, вы можете скопировать и вставить URL-адрес этого файла напрямую.

  7. Нажмите кнопку Сохранить, чтобы завершить привязывание своей записной книжки. Если этот файл ранее не существовал, появится запрос с командой Сохранить этот файл в репозитории GitHub.

  8. Введите сообщение и нажмите кнопку Сохранить.

Сохранение записной книжки в GitHub

Хотя внесенные в записную книжку изменения сохраняются автоматически в журнале версий Azure Databricks, изменения не сохраняются в GitHub автоматически.

  1. Щелкните Значок журнала версий в правой боковой панели, чтобы открыть панель журнала.

    Область журнала — сохранение

  2. Щелкните Сохранить сейчас, чтобы сохранить записную книжку в GitHub. Откроется диалоговое окно "Сохранить версию записной книжки".

  3. При необходимости введите сообщение, описывающее изменение.

  4. Убедитесь, что выбран параметр Также зафиксировать в Git.

    Сохранение версии

  5. Нажмите кнопку Сохранить.

Отмена изменений или обновление записной книжки до версии из GitHub

После связывания записной книжки Azure Databricks синхронизирует журнал с Git каждый раз при последующем открытии панели журнала. В записях версий, синхронизированных с Git, содержатся хэш-коды фиксации.

  1. Щелкните Значок журнала версий в правой боковой панели, чтобы открыть панель журнала.

    Область журнала

  2. Выберите запись на панели журнала. Azure Databricks отобразит эту версию.

  3. Нажмите Восстановить эту версию.

  4. Нажмите кнопку Подтвердить, чтобы подтвердить восстановление версии.

  1. Щелкните Значок журнала версий в правой боковой панели, чтобы открыть панель журнала.

  2. В строке состояния Git отображается Git: синхронизировано.

    Область журнала — сохранение нового изображения

  3. Щелкните Git: синхронизировано.

    Параметры Git — удаление привязки записной книжки

  4. В диалоговом окне «Параметры Git» нажмите кнопку Удалить связь.

  5. Нажмите кнопку Сохранить.

  6. Нажмите кнопку Подтвердить, чтобы подтвердить, что вы хотите удалить связь с записной книжкой из системы управления версиями.

Использование ветвей

Вы можете работать с любой ветвью репозитория и создавать новые ветви в Azure Databricks.

Создание ветви

  1. Щелкните Значок журнала версий в правой боковой панели, чтобы открыть панель журнала.

  2. Щелкните строку состояния Git, чтобы открыть панель GitHub.

  3. Щелкните раскрывающийся список Ветвь.

  4. Введите имя ветви.

    Создать ветвь

  5. Выберите параметр Создать ветвь в нижней части раскрывающегося списка. Будет указана родительская ветвь. Ветвление всегда выполняется из ветви, выбранной в данный момент.

Создание запроса на вытягивание

  1. Щелкните Значок журнала версий в правой боковой панели, чтобы открыть панель журнала.

  2. Щелкните строку состояния Git, чтобы открыть панель GitHub.

    Параметры Git — создание запроса на вытягивание

  3. Нажмите кнопку Создать запрос на вытягивание. GitHub откроет страницу запроса на вытягивание для ветви.

Перемещение изменений из одной ветви в другую

Вы также можете переместить изменения из одной ветви в другую в Azure Databricks. Ссылка Переместить изменения из одной ветви в другую отображается, если в родительской ветви доступны новые фиксации. Поддерживается только перемещение изменений поверх ветви родительского репозитория по умолчанию.

Перемещение изменения из одной ветви в другую

Например, предположим, что вы работаете над databricks/reference-apps. Вы создаете вилку в собственную учетную запись (например, brkyvz) и начинаете работать над ветвью my-branch. При отправке обновления в databricks:master отображается кнопка Rebase, после чего вы сможете извлечь изменения в свою ветвь brkyvz:my-branch.

В Azure Databricks перемещение изменений из одной ветви в другую работает немного иначе. Предположим, что ветвь имеет следующую структуру:

Структура ветви до перемещения изменения из одной ветви в другую

После перебазы структура ветви выглядит следующим образом:

Структура ветви после перемещения изменения из одной ветви в другую

Что отличается здесь, что фиксации C5 и C6 не применяются на вершине C4. Они отображаются как локальные изменения в записной книжке. Конфликты слияния отображаются следующим образом:

Конфликт слияния

Затем можно снова выполнить фиксацию в GitHub с помощью кнопки Сохранить сейчас.

Что произойдет, если кто-то создаст ветвь на основе ветви, для которой только что были перемещены изменения?

Если ваша ветвь (например, branch-a) стала основой для другой ветви (branch-b) и вы перемещаете изменения в другую ветвь, ничего страшного. После того как другой пользователь также выполнит для branch-b перемещение изменений, все будет работать должным образом. В этой ситуации рекомендуется использовать отдельные ветви для отдельных записных книжек.

Рекомендации по проверке кода

Azure Databricks поддерживает ветвление Git.

  • Вы можете связать записную книжку с любой ветвью в репозитории. Azure Databricks рекомендует использовать отдельную ветвь для каждой записной книжки.
  • Во время разработки можно связать записную книжку с вилкой репозитория или с ветвью, отличной от ветви по умолчанию, в основном репозитории. Чтобы интегрировать изменения вышестоящий, можно использовать ссылку "Создать PR" в диалоговом окне "Параметры Git" в Azure Databricks для создания запроса на вытягивание GitHub. Ссылка "Создать запрос на вытягивание" отображается только в том случае, если вы не работаете с ветвью по умолчанию родительского репозитория.

Устранение неполадок

При получении ошибок, связанных с синхронизацией журнала GitHub, проверьте следующее:

  • Вы можете связать записную книжку с инициализированным репозиторием Git, который не является пустым. Проверьте URL-адрес в веб-браузере.
  • Личный маркер доступа GitHub должен быть активен.
  • Чтобы использовать частный репозиторий GitHub, у вас должно быть разрешение на чтение репозитория.
  • Если записная книжка связана с переименованной ветвью GitHub, это изменение не отражается автоматически в Azure Databricks. Необходимо повторно связать записную книжку с ветвью вручную.

Миграция в папки Databricks Git

Пользователи, которым необходимо выполнить миграцию в папки Databricks Git из устаревшей системы управления версиями Git, могут использовать следующее руководство.