Управление версиями Git для записных книжек (устаревшая версия)
Внимание
Поддержка интеграции с устаревшей записной книжкой Git была удалена 31 января 2024 г. Databricks рекомендует использовать папки Databricks Git для синхронизации работы в Databricks с удаленным репозиторием Git.
В этой статье описывается настройка управления версиями Git для записных книжек (устаревшая функция). Вы также можете использовать ИНТЕРФЕЙС командной строки Databricks или API рабочей области для импорта и экспорта записных книжек и выполнения операций Git в локальной среде разработки.
Включение и отключение управления версиями Git
По умолчанию управление версиями включено. Чтобы переключить этот параметр, выполните следующие действия.
- Перейдите к параметрам Параметры> Workspace.
- В разделе "Дополнительно" отключите переключатель "Управление версиями Записной книжки Git".
Настройка системы управления версиями
Чтобы настроить управление версиями, создайте учетные данные доступа в поставщике Git, а затем добавьте эти учетные данные в Azure Databricks.
Работа с версиями записной книжки
Вы работаете с версиями записной книжки на панели журнала. Откройте панель журнала, щелкнув в правой боковой панели.
Примечание.
Изменить записную книжку, пока открыта панель журнала, невозможно.
Связывание записной книжки с GitHub
Щелкните в правой боковой панели. В строке состояния Git отобразится надпись Git: не связано.
Нажмите надпись Git: не связано.
Откроется диалоговое окно параметров Git. При первом открытии записной книжки отображается состояние Удалить связь, так как записная книжка не находится в GitHub.
В поле "Состояние" щелкните Связать.
В поле "Связать" вставьте URL-адрес репозитория GitHub.
Щелкните раскрывающийся список Ветвь и выберите существующую ветвь или введите имя новой.
В поле папки "Путь" в Git укажите место в репозитории для хранения файла.
Для записных книжек Python оставьте расширение файла по умолчанию
.py
. Если вы используете.ipynb
, записная книжка будет сохранена в формате записной книжки IPython. Если файл уже существует на GitHub, вы можете скопировать и вставить URL-адрес этого файла напрямую.Нажмите кнопку Сохранить, чтобы завершить привязывание своей записной книжки. Если этот файл ранее не существовал, появится запрос с командой Сохранить этот файл в репозитории GitHub.
Введите сообщение и нажмите кнопку Сохранить.
Сохранение записной книжки в GitHub
Хотя внесенные в записную книжку изменения сохраняются автоматически в журнале версий Azure Databricks, изменения не сохраняются в GitHub автоматически.
Щелкните в правой боковой панели, чтобы открыть панель журнала.
Щелкните Сохранить сейчас, чтобы сохранить записную книжку в GitHub. Откроется диалоговое окно "Сохранить версию записной книжки".
При необходимости введите сообщение, описывающее изменение.
Убедитесь, что выбран параметр Также зафиксировать в Git.
Нажмите кнопку Сохранить.
Отмена изменений или обновление записной книжки до версии из GitHub
После связывания записной книжки Azure Databricks синхронизирует журнал с Git каждый раз при последующем открытии панели журнала. В записях версий, синхронизированных с Git, содержатся хэш-коды фиксации.
Щелкните в правой боковой панели, чтобы открыть панель журнала.
Выберите запись на панели журнала. Azure Databricks отобразит эту версию.
Нажмите Восстановить эту версию.
Нажмите кнопку Подтвердить, чтобы подтвердить восстановление версии.
Удаление связи с записной книжкой
Щелкните в правой боковой панели, чтобы открыть панель журнала.
В строке состояния Git отображается Git: синхронизировано.
Щелкните Git: синхронизировано.
В диалоговом окне «Параметры Git» нажмите кнопку Удалить связь.
Нажмите кнопку Сохранить.
Нажмите кнопку Подтвердить, чтобы подтвердить, что вы хотите удалить связь с записной книжкой из системы управления версиями.
Использование ветвей
Вы можете работать с любой ветвью репозитория и создавать новые ветви в Azure Databricks.
Создание ветви
Щелкните в правой боковой панели, чтобы открыть панель журнала.
Щелкните строку состояния Git, чтобы открыть панель GitHub.
Щелкните раскрывающийся список Ветвь.
Введите имя ветви.
Выберите параметр Создать ветвь в нижней части раскрывающегося списка. Будет указана родительская ветвь. Ветвление всегда выполняется из ветви, выбранной в данный момент.
Создание запроса на вытягивание
Щелкните в правой боковой панели, чтобы открыть панель журнала.
Щелкните строку состояния Git, чтобы открыть панель GitHub.
Нажмите кнопку Создать запрос на вытягивание. 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, могут использовать следующее руководство.