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


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

Внимание

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

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

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

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

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

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

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

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

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

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

Примечание.

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

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

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

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

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

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

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

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

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

  6. В поле «Путь в папке Git» укажите where в репозитории для хранения вашего файла.

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

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

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

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

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

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

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

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

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

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

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

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

Вернуть или update блокнот к версии из GitHub

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

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

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

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

  3. Щелкните Restore на эту версию.

  4. Щелкните Подтвердить, чтобы убедиться, что вы хотите restore этой версии.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Например, предположим, что вы работаете над databricks/reference-apps. Вы создаете вилку в собственную учетную запись (например, brkyvz) и начинаете работать над ветвью my-branch. Если новая update отправлена в 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, могут использовать следующее руководство.