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:
- Vaya a Configuración>Configuración del área de trabajo.
- 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 en la barra lateral derecha.
Nota:
No se puede modificar un cuaderno mientras el panel del historial está abierto.
Vinculación de un cuaderno a GitHub
Haga clic en la barra lateral derecha. En la barra de estado de Git se muestra Git: Not linked (Git: No vinculado).
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.
En el campo "Status" (Estado), haga clic en Link (Vincular).
En el campo "Link" (Vincular), pegue la dirección URL del repositorio de GitHub.
Haga clic en la lista desplegable Branch (Rama) y seleccione una rama o escriba el nombre de una nueva rama.
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.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).
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.
Haga clic en la barra lateral derecha para abrir el panel del historial.
Haga clic en Save Now (Guardar ahora) para guardar el cuaderno en GitHub. Aparece el cuadro de diálogo Guardar versión del cuaderno.
Opcionalmente, escriba un mensaje para describir el cambio.
Asegúrese de que la opción Also commit to Git (Confirmar también en Git) está seleccionada.
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.
Haga clic en la barra lateral derecha para abrir el panel del historial.
Elija una entrada en el panel del historial. Esa versión se muestra en Azure Databricks.
Haga clic en Restore this version (Restaurar esta versión).
Haga clic en Confirm (Confirmar) para confirmar que quiere restaurar esa versión.
Desvinculación de un cuaderno
Haga clic en la barra lateral derecha para abrir el panel del historial.
En la barra de estado de Git se muestra Git: Synced (Git: Sincronizado).
Haga clic en Git: Synced (Git: Sincronizado).
En el cuadro de diálogo "Git Preferences" (Preferencias de Git), haga clic en Unlink (Desvincular).
Haga clic en Save(Guardar).
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
Haga clic en la barra lateral derecha para abrir el panel del historial.
Haga clic en la barra de estado de Git para abrir el panel de GitHub.
Haga clic en la lista desplegable Branch (Rama).
Escriba un nombre de rama.
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
Haga clic en la barra lateral derecha para abrir el panel del historial.
Haga clic en la barra de estado de Git para abrir el panel de GitHub.
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.
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:
Después de una fusión mediante cambio de base, la estructura de rama tendrá el siguiente aspecto:
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:
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: