Control de versiones de Git para cuadernos (heredado)

Importante

La compatibilidad con la integración de Git del cuaderno heredado se quitó el 31 de enero de 2024. Databricks recomienda usar carpetas de Git de Databricks para sincronizar el trabajo en Databricks con un repositorio de Git remoto.

En este artículo se describe cómo configurar el control de versiones de Git para cuadernos (característica heredada). También puede usar la CLI de Databricks o la API de área de trabajo para importar y exportar cuadernos y realizar operaciones de Git en el entorno de desarrollo local.

Habilitación y deshabilitación del control de versiones de Git

De forma predeterminada, el control de versiones está habilitado. Para activar o desactivar esta configuración:

  1. Vaya a Configuración>Configuración del área de trabajo.
  2. En la sección Avanzado, deseleccione el conmutador Control de versiones Git.

Configuración del control de versiones

Para configurar el control de versiones, crea credenciales de acceso en tu proveedor de Git y, a continuación, agrega dichas credenciales a Azure Databricks.

Trabajar con versiones de cuadernos

Trabaje con versiones de cuadernos en el panel del historial. Abra el panel del historial haciendo clic Icono del historial de versiones en la barra lateral derecha.

Historial de versiones

Nota:

No se puede modificar un cuaderno mientras el panel del historial está abierto.

  1. Haga clic Icono del historial de versiones en la barra lateral derecha. En la barra de estado de Git se muestra Git: Not linked (Git: No vinculado).

    Barra de estado de Git

  2. Haga clic en Git: Not linked (Git: No vinculado).

    Aparece el cuadro de diálogo "Git Preferences" (Preferencias de Git). La primera vez que abre el cuaderno, el estado es Unlink (Desvincular), porque el cuaderno no está en GitHub.

    Preferencias de Git: enlazar cuaderno nuevo

  3. En el campo Estado, haga clic en Vincular.

  4. En el campo "Link" (Vincular), pegue la dirección URL del repositorio de GitHub.

  5. Haga clic en la lista desplegable Branch (Rama) y seleccione una rama o escriba el nombre de una nueva rama.

  6. En el campo Ruta de acceso de la carpeta Git, especifique dónde se almacenará el archivo en el repositorio.

    Los cuadernos de Python tienen la extensión de archivo predeterminada sugerida: .py. Si usa .ipynb, el cuaderno se guardará en formato de cuaderno de iPython. Si el archivo ya existe en GitHub, puede copiar y pegar directamente la dirección URL del archivo.

  7. Haga clic en Save (Guardar) para terminar de vincular el cuaderno. Si este archivo no existía anteriormente, se muestra un aviso con la opción Save this file to your GitHub repo (Guardar este archivo en el repositorio de GitHub).

  8. Escriba un mensaje y haga clic en Save (Guardar).

Guardar un cuaderno en GitHub

Aunque los cambios que realice en el cuaderno se guardan automáticamente en el historial de versiones de Azure Databricks, los cambios no se conservan automáticamente en GitHub.

  1. Haga clic Icono del historial de versiones en la barra lateral derecha para abrir el panel del historial.

    Panel de historial: guardar ahora

  2. Haga clic en Save Now (Guardar ahora) para guardar el cuaderno en GitHub. Aparece el cuadro de diálogo Guardar versión del cuaderno.

  3. Opcionalmente, escriba un mensaje para describir el cambio.

  4. Asegúrese de que la opción Also commit to Git (Confirmar también en Git) está seleccionada.

    Guardar versión

  5. Haga clic en Save(Guardar).

Reversión o actualización de un cuaderno a una versión de GitHub

Una vez que vincula un cuaderno, Azure Databricks sincroniza el historial con Git cada vez que vuelve a abrir el panel del historial. Las versiones que se sincronizan con Git incluyen hashes de confirmación en la entrada.

  1. Haga clic Icono del historial de versiones en la barra lateral derecha para abrir el panel del historial.

    Panel del historial

  2. Elija una entrada en el panel del historial. Esa versión se muestra en Azure Databricks.

  3. Haga clic en Restore this version (Restaurar esta versión).

  4. Haga clic en Confirm (Confirmar) para confirmar que quiere restaurar esa versión.

  1. Haga clic Icono del historial de versiones en la barra lateral derecha para abrir el panel del historial.

  2. En la barra de estado de Git se muestra Git: Synced (Git: Sincronizado).

    Panel de historial - guardar imagen ahora

  3. Haga clic en Git: Synced (Git: Sincronizado).

    Preferencias de Git: desvincular el cuaderno

  4. En el cuadro de diálogo "Git Preferences" (Preferencias de Git), haga clic en Unlink (Desvincular).

  5. Haga clic en Save(Guardar).

  6. Haga clic en Confirm (Confirmar) para confirmar que quiere desvincular el cuaderno del control de versiones.

Usar ramas

Puede trabajar en cualquier rama del repositorio y crear nuevas ramas dentro de Azure Databricks.

Crear una rama

  1. Haga clic Icono del historial de versiones en la barra lateral derecha para abrir el panel del historial.

  2. Haga clic en la barra de estado de Git para abrir el panel de GitHub.

  3. Haga clic en el menú desplegable Branch.

  4. Escriba un nombre de rama.

    Crear rama

  5. Seleccione la opción Create Branch (Crear rama) en la parte inferior de la lista desplegable. Se indica la rama primaria. Siempre se crea una rama a partir de la rama actualmente seleccionada.

Creación de una solicitud de incorporación de cambios

  1. Haga clic Icono del historial de versiones en la barra lateral derecha para abrir el panel del historial.

  2. Haga clic en la barra de estado de Git para abrir el panel de GitHub.

    Preferencias de Git - crear pull request

  3. Haga clic en Create PR (Crear PR). GitHub se abre en una página de pull request de la rama.

Cambiar la base de una rama

También puedes hacer rebase de tu rama en Azure Databricks. El enlace Rebase se muestra si hay nuevos commits disponibles en la rama padre. Solo se admite hacer rebase sobre la rama predeterminada del repositorio padre.

Rebase

Por ejemplo, suponga que está trabajando en databricks/reference-apps. Haces un fork en tu propia cuenta (por ejemplo, brkyvz) y empiezas a trabajar en una rama llamada my-branch. Si se envía una nueva actualización a databricks:master, se mostrará el botón Rebase y podrás incorporar los cambios a tu rama brkyvz:my-branch.

El rebase funciona de un modo algo diferente en Azure Databricks. Suponga la siguiente estructura de rama:

Estructura de ramas antes del rebase

Después de un cambio de base, la estructura de la rama tiene este aspecto:

Estructura de la rama tras el rebase

Lo que es diferente aquí es que las confirmaciones C5 y C6 no se superponen a C4. Aparecen como cambios locales en el cuaderno. Los conflictos de combinación se muestran de la siguiente manera:

Combinar conflicto

A continuación, puede confirmar en GitHub una vez más mediante el botón Save Now (Guardar ahora).

¿Qué ocurre si alguien bifurca desde mi rama que acabo de fusionar mediante cambio de base?

Si tu rama (por ejemplo, branch-a) servía de base para otra rama (branch-b), y haces un cambio de base, no tienes por qué preocuparte. Una vez que un usuario también hace un rebase de branch-b, todo volverá a funcionar. La mejor práctica en esta situación es usar ramas distintas para cada notebook.

Procedimientos recomendados para las revisiones de código

Azure Databricks admite la ramificación de Git.

  • Puede vincular un cuaderno a cualquier rama de un repositorio. Azure Databricks recomienda usar una rama independiente para cada cuaderno.
  • Durante el desarrollo, puede vincular un cuaderno a una bifurcación de un repositorio o a una rama no predeterminada del repositorio principal. Para integrar los cambios en dirección ascendente, puede usar el vínculo Create PR en el cuadro de diálogo de preferencias de Git en Azure Databricks para crear una solicitud de incorporación de cambios de GitHub. El enlace para crear una solicitud de pull request solo se muestra si no está trabajando en la rama principal del repositorio.

Solución de problemas

Si recibe errores relacionados con la sincronización del historial de GitHub, compruebe lo siguiente:

  • Solo puede vincular un cuaderno a un repositorio de Git inicializado que no esté vacío. Pruebe la dirección URL en un explorador web.
  • El token de acceso personal de GitHub debe estar activo.
  • Para usar un repositorio privado de GitHub, debe tener permisos para leer el repositorio.
  • Si un cuaderno está vinculado a una rama de GitHub cuyo nombre ha cambiado, el cambio no se refleja automáticamente en Azure Databricks. Debe volver a vincular el cuaderno a la rama manualmente.

Migrar a las carpetas Git de Databricks

Los usuarios que necesitan migrar a carpetas de Git de Databricks desde el control de versiones de Git heredado pueden usar la siguiente guía: