Compartir a través de


Ejecución de operaciones de Git en carpetas de Git de Databricks

En esta página se describe cómo realizar operaciones de Git comunes en el área de trabajo de Azure Databricks mediante carpetas de Git, incluida la clonación, la bifurcación, la confirmación y la inserción.

En esta guía se describen las siguientes operaciones de Git:

Instalación y configuración Flujo de trabajo diario Operaciones avanzadas

Clonación de un repositorio

Al clonar un repositorio remoto, Databricks crea una carpeta git en el área de trabajo que contiene el contenido del repositorio y realiza un seguimiento de los cambios. Puede crear carpetas de Git mediante la interfaz de usuario de Azure Databricks o el terminal web.

Nota:

Clonación desde la interfaz de usuario

  1. En la barra lateral, seleccione Área de trabajo y vaya a la carpeta donde desea crear el clon del repositorio de Git.

  2. Haga clic en Crear>carpeta git.

  3. En el cuadro de diálogo Crear carpeta Git, proporcione la siguiente información:

    Campo Description
    URL del repositorio de Git Dirección URL del repositorio de Git que desea clonar, con el formato https://example.com/organization/project.git.
    Proveedor de GIT Proveedor de Git para el repositorio que desea clonar.
    Nombre de carpeta de Git Nombre de la carpeta del área de trabajo que contiene el contenido del repositorio clonado.
    Modo de checkout disperso Si se va a usar el checkout disperso, que clona solo un subconjunto de directorios del repositorio mediante un patrón de cono. Esto resulta útil si el repositorio supera los límites de tamaño.
    Habilitación de la compatibilidad con la CLI de Git (beta) Ejecute comandos de Git estándar directamente desde un terminal de Azure Databricks, incluidos los enlaces previos a la confirmación, los submódulos de Git y el almacenamiento de archivos grandes (LFS). Consulte Uso de comandos de la CLI de Git (Beta). Esta opción requiere proceso sin servidor. Si el cómputo sin servidor no está disponible en tu área de trabajo, clona desde el terminal web en su lugar.
  4. Haga clic en Crear carpeta Git. El contenido del repositorio remoto se clona en el área de trabajo y puede empezar a trabajar con operaciones de Git compatibles.

Clonar desde el terminal web

También puede crear carpetas de Git con acceso de la CLI directamente desde el terminal web:

  1. Acceda al terminal web. Consulte Ejecución de comandos de shell en el terminal web de Azure Databricks.

  2. Vaya al directorio primario en /Workspace:

    cd /Workspace/Users/<your-email>/<project>
    

    Nota:

    No puede crear carpetas de Git con acceso a la CLI de Git en /Repos o en carpetas de Git existentes.

  3. Clona tu repositorio:

    git clone <remote-url>
    

    El git clone comando usa las credenciales de Git configuradas en el área de trabajo. Consulte Conexión del proveedor de Git a Databricks.

  4. Actualice el explorador para ver la nueva carpeta en el explorador de archivos del área de trabajo.

Usar comandos de Git CLI (Beta)

Importante

Esta característica se encuentra en su versión beta. Los administradores del área de trabajo pueden controlar el acceso a esta característica desde la página Vistas previas . Consulte Administración de versiones preliminares de Azure Databricks.

Las carpetas de Git con acceso a la CLI de Git le permiten ejecutar comandos de Git estándar directamente desde un terminal de Azure Databricks. Ustedes pueden:

  • Ejecute cualquier comando de Git, incluidos git stash, git pull --forcey git rebase -i.
  • Integre linting y análisis de código con ganchos de preconfirmación.
  • Trabaje con repositorios que superen los límites de 2 GB de memoria y 4 GB de disco de las carpetas de Git estándar.
  • Usar submódulos de Git y Almacenamiento de Archivos Grandes (LFS).
  • Preparar múltiples confirmaciones localmente antes de empujar al repositorio remoto.

Requisitos de proceso de la CLI de Git

El proceso necesario depende de cómo use una carpeta git habilitada para la CLI:

Operación Requisito de cálculo
Creación de una carpeta de Git con acceso de la CLI desde la interfaz de usuario proceso sin servidor
Ejecución de operaciones de Git desde la interfaz de usuario de carpetas de Git (extracción, inserción, confirmación) proceso sin servidor
Ejecución de comandos de la CLI de Git desde el terminal web proceso sin servidor (versión de entorno 4 o superior) o proceso clásico (Databricks Runtime 17.0 o superior)

Para habilitar el proceso sin servidor, consulte Conexión al proceso sin servidor.

Si el proveedor de Git requiere conectividad de red privada, consulte Configuración de la conectividad de red.

Creación de una carpeta de Git con acceso a la CLI de Git

Para crear una carpeta de Git con acceso a la CLI:

  • Si usa el terminal web, cualquier repositorio que clone tenga acceso a la CLI de Git automáticamente.
  • Si usa la interfaz de usuario, seleccione Habilitar la compatibilidad con la CLI de Git al crear la carpeta Git.

Después de crear una carpeta de Git con acceso a la CLI, ejecute cualquier comando de Git estándar desde el terminal web:

cd /Workspace/Users/<your-email>/<project>/my-repo

# Interactive rebase
git rebase -i main

# Stash uncommitted changes
git stash

# Work with submodules
git submodule update --init --recursive

Limitaciones de la CLI de Git

Las carpetas de Git con acceso a la CLI tienen las siguientes limitaciones:

  • Las listas de permitidos para URL remota se omiten para las carpetas de Git con compatibilidad con la CLI de Git.
  • Los comandos de la CLI de Git omiten la configuración de administración que bloquea la confirmación de las salidas del cuaderno.
  • La API repos no es compatible con las carpetas de Git con acceso a la CLI.
  • No se puede habilitar el acceso a la CLI de Git para las carpetas de Git existentes.

Solución de problemas de operaciones de la CLI de Git

  • Las operaciones de Git están deshabilitadas en la interfaz de usuario del área de trabajo: el proceso sin servidor no está habilitado en el área de trabajo. Todavía puede ejecutar comandos de Git desde el terminal web. Para habilitar el proceso sin servidor, consulte Conexión al proceso sin servidor.
  • Terminal solicita credenciales en cada operación: la característica de la CLI de Git no está habilitada en el área de trabajo. Póngase en contacto con el administrador del área de trabajo para comprobar que la versión preliminar está habilitada.
  • Las operaciones de Git producen errores de permiso: compruebe que tiene CAN MANAGE permiso en la carpeta primaria y que las credenciales de Git del área de trabajo son válidas. Consulte Conexión del proveedor de Git a Databricks.

Acceso al cuadro de diálogo de Git

Acceda al cuadro de diálogo de Git desde un cuaderno o desde el explorador de carpetas de Git de Azure Databricks.

  • En un cuaderno, haga clic en el botón situado junto al nombre del cuaderno que identifica la rama de Git actual.

    Botón de diálogo de Git en el notebook.

  • En el explorador de carpetas git de Azure Databricks, haga clic en Git junto al nombre del repositorio.

Aparece un cuadro de diálogo de pantalla completa donde puede realizar operaciones de Git.

Cuadro de diálogo que se usa para realizar operaciones de Git en un área de trabajo de Databricks.

  1. La rama de trabajo actual. Puede seleccionar otras ramas aquí. Si otros usuarios tienen acceso a esta carpeta de Git, al cambiar la rama también se cambia la rama para ellos si comparten la misma área de trabajo. Consulte una práctica recomendada para evitar este problema.
  2. Crear una nueva rama.
  3. Archivos y subcarpetas integrados en tu rama actual.
  4. Muestra el historial de la rama actual.
  5. Extraiga contenido del repositorio de Git remoto.
  6. Agregue un mensaje de confirmación y una descripción expandida opcional para los cambios.
  7. Confirme el trabajo en la rama de trabajo e inserte la rama actualizada en el repositorio de Git remoto.

Haga clic en el icono de menú Kebab para elegir entre otras operaciones de rama de Git, como un restablecimiento duro, una combinación o un rebase.

Menú en el cuadro de diálogo de la carpeta de Git para operaciones en la rama.

Creación de una rama

Para crear una nueva rama:

  1. Abra el cuadro de diálogo git.
  2. Haga clic en Crear rama.
  3. Escriba un nombre para la nueva rama y seleccione la rama base.
  4. Haga clic en Crear.

Rama nueva del cuadro de diálogo de Git.

Cambiar a otra rama

Para cambiar a otra rama, use la lista desplegable de ramas en el cuadro de diálogo de Git.

Cambio de cuadro de diálogo de Git a otra rama

Los cambios no confirmados en la rama actual se transfieren y se muestran como cambios no confirmados en la nueva rama, si los cambios no confirmados no entran en conflicto con el código de la nueva rama. Descarte los cambios antes o después de los cambios de rama si no tiene previsto conservar los cambios no confirmados.

La versión local de una rama puede permanecer presente en la carpeta git asociada durante hasta 30 días después de eliminar la rama remota. Para quitar completamente una rama local en una carpeta de Git, elimine el repositorio.

Importante

El cambio de ramas puede eliminar los recursos del área de trabajo cuando la nueva rama no contiene estos recursos. Al volver a la rama actual, se recrean los recursos eliminados con nuevos ID y URL. Este cambio no se puede revertir.

Si ha compartido o marcado recursos de una carpeta de Git, compruebe que el recurso existe en la nueva rama antes de cambiar.

Confirmación e inserción de cambios

Al agregar nuevos blocs de notas o archivos, o realizar cambios en los archivos o cuadernos existentes, la interfaz de usuario de la carpeta Git resalta los cambios.

Cuadro de diálogo de Git con los cambios resaltados.

Agregue un mensaje de confirmación necesario para los cambios y haga clic en Confirmar e insertar para insertar los cambios en el repositorio de Git remoto.

Si no tiene permiso para realizar commits en la rama predeterminada, cree una nueva rama y use la interfaz de usuario de su proveedor de Git para crear un pull request y fusionarla en la rama predeterminada.

Nota:

Las salidas del cuaderno no se incluyen en los commits por defecto cuando los cuadernos se guardan en formatos de archivo de origen (.py, .scala, .sql, .r). Para obtener información sobre cómo confirmar salidas de cuaderno con el formato IPYNB, consulte Control de confirmaciones de artefactos de salida del cuaderno IPYNB.

Incorporación de cambios

Para extraer los cambios del repositorio de Git remoto, haga clic en Pull en el cuadro de diálogo operaciones de Git. Los cuadernos y otros archivos se actualizan automáticamente a la versión más reciente del repositorio de Git remoto. Si los cambios extraídos del repositorio remoto entran en conflicto con los cambios locales en Azure Databricks, resuelva los conflictos de combinación.

Importante

Las operaciones de Git que extraen los cambios ascendentes borran el estado del cuaderno. Consulte Cambios entrantes borran el estado del cuaderno.

Colaboración en carpetas de Git

Las carpetas de Git de Azure Databricks se comportan como clientes de Git insertados en el área de trabajo, lo que le permite colaborar a través del control de código fuente basado en Git y el control de versiones. Para una colaboración en equipo eficaz:

  • Cada miembro del equipo tiene su propia carpeta de Git asignada al repositorio de Git remoto, donde trabajan en su propia rama de desarrollo.
  • Solo un usuario realiza operaciones de Git en cada carpeta de Git. Varios usuarios que realizan operaciones de Git en la misma carpeta pueden provocar problemas de administración de ramas, como un usuario que cambia accidentalmente las ramas para todos.

Para compartir la configuración de la carpeta git con un colaborador:

  1. Haga clic en Compartir.
  2. Haga clic en el vínculo Copiar para crear una carpeta de Git.
  3. Envíe la dirección URL al colaborador.
  4. Cuando el colaborador abra la dirección URL, verá un cuadro de diálogo rellenado previamente con la configuración de la carpeta Git.
  5. Hacen clic en Crear carpeta git para clonar el repositorio en su propia área de trabajo en su carpeta de trabajo actual.

Fusionar ramas

La función merge de las carpetas de Git de Azure Databricks usa git merge para combinar el historial de confirmaciones de una rama en otra. Para los principiantes de Git, Databricks recomienda usar merge en lugar de rebase porque no requiere un empuje forzado y no reescribe el historial de confirmaciones.

Para combinar una rama en otra, haga clic en el icono de menú Kebab. Menú kebab y seleccione Combinar.

  • Si hay un conflicto de combinación, resuélvalo en la interfaz de usuario de carpetas de Git.
  • Si no hay ningún conflicto, la fusión se envía al repositorio de Git remoto mediante git push.

Resolución de conflictos de combinación

Los conflictos de combinación se producen cuando Git no puede conciliar automáticamente los cambios en las mismas líneas de un archivo de orígenes diferentes, como durante una operación de extracción, rebase o combinación.

Para resolver un conflicto de combinación, use la interfaz de usuario de carpetas de Git que muestra los archivos en conflicto y las opciones de resolución.

  • Edite manualmente el archivo para elegir qué cambios se van a conservar.
  • Seleccione Mantener todos los cambios actuales o Tomar todos los cambios entrantes para aceptar una versión por completo.
  • Anule la operación y descarte los cambios en conflicto para intentarlo de nuevo.

GIF animado que muestra un conflicto de combinación en la interfaz de usuario de carpetas de Git

Resolución manual de conflictos

La resolución manual de conflictos permite determinar qué líneas conflictivas se van a aceptar. Edite el contenido del archivo directamente para resolver los conflictos.

GIF animado que muestra una resolución manual de un conflicto de combinación

Para resolver el conflicto, seleccione las líneas de código que desea conservar y eliminar todo lo demás, incluidos los marcadores de conflicto de combinación de Git. Cuando haya terminado, seleccione Marcar como resuelto.

Si ha realizado las opciones incorrectas al resolver conflictos de combinación, haga clic en Anular para anular el proceso y deshacer todo. Una vez resueltos todos los conflictos, haga clic en Continuar fusión o Continuar rebase para resolver el conflicto y completar la operación.

Rebase una rama

La función rebase en las carpetas de Git de Azure Databricks usa git rebase para integrar los cambios de una rama en otra mediante la nueva aplicación de las confirmaciones en la parte superior de la rama de destino, creando un historial lineal.

Para volver a basar una rama en otra rama, haga clic en el icono de menú Kebab. Menú kebab y seleccione Rebase y, a continuación, seleccione la rama de destino.

  • Después de la base de datos, las carpetas de Git se ejecutan git commit y git push --force actualizan el repositorio remoto.
  • Rebase vuelve a escribir el historial de confirmaciones, lo que puede provocar problemas de control de versiones para los colaboradores que trabajan en el mismo repositorio.

Resetear una rama

Realice un restablecimiento de Git desde la interfaz de usuario de carpetas de Git. Esta operación es equivalente a git reset --hard combinada con git push --force.

Git reset reemplaza el historial y el contenido de la rama con el estado más reciente de otra rama. Puede usar esto cuando las ediciones entren en conflicto con la rama ascendente y no le importe perder esas modificaciones al restablecer a la rama ascendente. Obtenga más información sobre git reset --hard.

Restablecer a una rama remota

Con git reset en este escenario:

  • Debes restablecer la rama seleccionada (por ejemplo, feature_a) a otra rama diferente (por ejemplo, main).
  • También restableció la rama feature_a ascendente (remota) a main.

Importante

Cuando restableces, pierdes todos los cambios confirmados y no confirmados en la versión local y remota de la rama.

Para restablecer una rama a una rama remota:

  1. En la interfaz de usuario de carpetas de Git del menú Rama, elija la rama que desea restablecer.

  2. Seleccione Restablecer en el icono de menú Kebab. Menú kebab.

    Operación de restablecimiento de Git en el menú kebab.

  3. Seleccione la rama para restablecerla y haga clic en Ejecutar restablecimiento de Git.

Configurar el modo de checkout parcial

El checkout disperso es una configuración de cliente que permite clonar y trabajar solo con un subconjunto de directorios del repositorio remoto en Azure Databricks. Esto es especialmente útil si el tamaño del repositorio supera los límites admitidos de Azure Databricks.

Habilite el modo checkout disperso al clonar un nuevo repositorio. No se puede desactivar el modo de extracción dispersa después de habilitarlo.

  1. En el cuadro de diálogo Crear carpeta Git, habilite el modo de extracción dispersa.

    Opción de checkout sparse en el cuadro de diálogo Agregar carpeta Git.

  2. En el cuadro Patrones de cono, especifique los patrones de validación de cono que desee. Separe diferentes patrones por saltos de línea.

Funcionamiento de los patrones de cono

Para comprender cómo funcionan los patrones de cono en modo de desprotección dispersa, consulte el diagrama siguiente que representa la estructura del repositorio remoto.

Estructura del repositorio remoto sin checkout disperso.

Si selecciona el modo de comprobación dispersa, pero no especifica un patrón de cono, se aplica el patrón de cono predeterminado. Esto incluye solo los archivos en raíz y sin subdirectorios, lo que da como resultado una estructura de repositorio como se indica a continuación:

Sparse checkout: patrón de cono predeterminado.

Al configurar el patrón de cono de extracción dispersa como parent/child/grandchild, se incluye recursivamente todo el contenido del directorio grandchild. También se incluyen los archivos inmediatamente en los directorios /parent, /parent/child y el directorio raíz. Consulte la estructura de los directorios en el diagrama siguiente:

Comprobación dispersa: Especificar el patrón de cono de carpeta padre-nieto-hijo.

Nota:

Los comportamientos de exclusión (!) no se admiten en la sintaxis del patrón de cono de Git.

Modificar la configuración de checkout disperso

Después de crear un repositorio, edite el patrón de revisión dispersa desde Configuración>Avanzado>Patrones de cono.

Tenga en cuenta el siguiente comportamiento:

  • Al quitar una carpeta del patrón de cono, se elimina de Azure Databricks si no hay cambios pendientes.

  • Para agregar una carpeta, edite el patrón de cono de pago selectivo disperso, y esto lo agrega a Azure Databricks sin necesidad de una extracción adicional.

  • Los patrones de checkout disperso no se pueden modificar para eliminar una carpeta cuando hay cambios no confirmados en esa carpeta.

    Por ejemplo, si edita un archivo en una carpeta y no confirma los cambios, luego intenta cambiar el patrón de checkout disperso para excluir esa carpeta, el patrón se acepta, pero la carpeta no se elimina. Debe revertir el patrón para incluir esa carpeta, confirmar los cambios y volver a aplicar el nuevo patrón.

Hacer cambios con la extracción dispersa

Edite los archivos existentes y confirme e insértelos desde la carpeta Git. Al crear nuevas carpetas de archivos, inclúyelas en el patrón de cono que ha especificado para ese repositorio.

La inclusión de una nueva carpeta fuera del patrón de cono produce un error durante la operación de confirmación e inserción. Para corregirlo, edite el patrón de cono para incluir la nueva carpeta que intenta confirmar e insertar.

Limitaciones de las extracciones parciales

  • La desprotección dispersa no funciona en repositorios de Azure DevOps de más de 4 GB.
  • No puede desactivar el sparse checkout de un repositorio que se creó con el sparse checkout habilitado.

Administración de carpetas de Git mediante programación

Para administrar carpetas de Git mediante la API, consulte la referencia de la API repos.

Eliminación de una carpeta de Git

Para quitar una carpeta git del área de trabajo:

  1. Haga clic con el botón derecho en la carpeta Git y seleccione Mover a la papelera.
  2. Haga clic en Confirmar y vaya a Papelera.

Pasos siguientes