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 "Status" (Estado), haga clic en Link (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).

Guardado de 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 tienen valores hash de confirmación como parte de 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).

    Imagen del Panel del historial: guardar ahora

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

    Preferencias de Git: desvincular 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 la lista desplegable Branch (Rama).

  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 bifurca desde la rama seleccionada actual.

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 solicitud de incorporación

  3. Haga clic en Create PR (Crear PR). GitHub abre en una página de solicitud de incorporación de cambios para la rama.

Fusionar mediante cambio de base una rama

También puede fusionar mediante cambio de base la rama dentro de Azure Databricks. El vínculo Rebase (Fusionar mediante cambio de base) muestra si hay nuevas confirmaciones disponibles en la rama primaria. Solo se admite la fusión mediante cambio de base de la rama predeterminada del repositorio principal.

Fusionar mediante cambio de base

Por ejemplo, suponga que está trabajando en databricks/reference-apps. La bifurca en su propia cuenta (por ejemplo, brkyvz) y empieza a trabajar en una rama denominada my-branch. Si se inserta una nueva actualización en databricks:master, se muestra el botón Rebase y podrá extraer los cambios en la rama brkyvz:my-branch.

La fusión mediante cambio de base funciona de forma ligeramente diferente en Azure Databricks. Suponga la siguiente estructura de rama:

Aspecto de la estructura de rama antes de la fusión mediante cambio de base

Después de una fusión mediante cambio de base, la estructura de rama tendrá el siguiente aspecto:

Aspecto de la estructura de rama después de la fusión mediante cambio de base

Lo que es diferente aquí es que las confirmaciones C5 y C6 no se aplican sobre 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 la rama (por ejemplo, branch-a) era la base de otra rama (branch-b) y fusiona mediante cambio de base, no debe preocuparse. Una vez que un usuario también fusiona mediante cambio de base branch-b, todo funcionará. El procedimiento recomendado en esta situación es usar ramas independientes para cuadernos independientes.

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 vínculo "Create PR" (Crear PR) solo se muestra si no está trabajando en la rama predeterminada del repositorio principal.

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.

Migración a carpetas de 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: