Conceptos básicos en la integración de Git
En este artículo se explican los conceptos básicos de Git y el proceso de integración de Git con el área de trabajo de Microsoft Fabric.
Permisos
- Para poder utilizar la integración de Git, el administrador de su organización debe habilitarla.
- Si el área de trabajo y el repositorio de Azure se encuentran en dos regiones diferentes, el administrador del inquilino deberá habilitar las exportaciones entre áreas geográficas. Esta restricción no se aplica a GitHub.
- Las acciones que puede realizar en un área de trabajo dependen de los permisos que tenga tanto en el área de trabajo como en Git, tal como se indica en las secciones siguientes.
Permisos de Git necesarios para acciones populares
En la lista siguiente se muestra lo que pueden hacer los distintos roles de área de trabajo en función de sus permisos en su repo de Git:
- Administración: puede realizar cualquier operación en el área de trabajo, limitado solo por su rol de Git.
- Miembro o colaborador: una vez conectado a un área de trabajo, un miembro o colaborador puede confirmar y actualizar los cambios, en función de su rol de Git. Para las acciones relacionadas con la conexión del área de trabajo (por ejemplo, conectar, desconectar o cambiar ramas), busque ayuda de un Administrador.
- Visor: no puede realizar ninguna acción. El visor no puede ver ninguna información relacionada con Git en el área de trabajo.
Permisos de Fabric necesarios para acciones populares
Roles de área de trabajo
En la tabla siguiente se describen los permisos necesarios en el espacio de trabajo de Fabric para realizar varias operaciones comunes:
Operación | Rol de área de trabajo |
---|---|
Conectar el área de trabajo al repositorio de Git | Administración |
Sincronizar el área de trabajo con el repositorio de Git | Administración |
Desconectar el área de trabajo del repositorio de Git | Administración |
Cambiar rama en el área de trabajo (o cualquier cambio en la configuración de conexión) | Administración |
Ver los detalles de la conexión de Git | Administrador, miembro, colaborador |
Consultar el "estado de Git" del área de trabajo | Administrador, miembro, colaborador |
Actualización desde Git | Todo lo siguiente: Colaborador en el área de trabajo (permiso WRITE en todos los elementos) Propietario del elemento (si el modificador de inquilino bloquea las actualizaciones de nonowners) BUILD en dependencias externas (si procede) |
Confirmarcambios en el área de trabajo en Git | Todo lo siguiente: Colaborador en el área de trabajo (permiso WRITE en todos los elementos) Propietario del elemento (si el modificador de inquilino bloquea las actualizaciones de nonowners) BUILD en dependencias externas (si procede) |
Crear una nueva rama de Git desde Fabric | Administración |
Ramificar hacia una nueva área de trabajo | Administrador, miembro, colaborador |
Roles de Git
En la tabla siguiente se describen los permisos de Git necesarios para realizar varias operaciones comunes:
Operación | Permisos de Git |
---|---|
Conectar el área de trabajo al repositorio de Git | Read=Allow |
Sincronizar el área de trabajo con el repositorio de Git | Read=Allow |
Desconectar el área de trabajo del repositorio de Git | No se necesitan permisos |
Cambiar rama en el área de trabajo (o cualquier cambio en la configuración de conexión) | Read=Allow (en el repositorio/directorio/rama de destino) |
Ver los detalles de la conexión de Git | Lectura o ninguno |
Consultar el "estado de Git" del área de trabajo | Read=Allow |
Actualización desde Git | Read=Allow |
Confirmarcambios en el área de trabajo en Git | Read=Allow Contribute=Allow la directiva de rama debe permitir la confirmación directa |
Crear una nueva rama de Git desde Fabric | Role=Write Create branch=Allow |
Ramificar hacia una nueva área de trabajo | Read=Allow Create branch=Allow |
Conectar y sincronizar
Solo un administrador del área de trabajo puede conectar un área de trabajo a repos de Git, pero una vez conectado, cualquier persona con permisos puede trabajar en el área de trabajo. Si no es administrador, pida al administrador ayuda con la conexión.
Al conectar un área de trabajo a Git, Fabric se sincroniza entre las dos ubicaciones para que tengan el mismo contenido. Durante esta sincronización inicial, si el área de trabajo o la rama de Git está vacío mientras el otro tiene contenido, el contenido se copia de la ubicación no vacía en la vacía. Si tanto el área de trabajo como la rama de Git tienen contenido, deberá decidir en qué dirección debe ir la sincronización.
- Si confirma su área de trabajo en la rama de Git, todo el contenido compatible del área de trabajo se exporta a Git y sobrescribe el contenido actual de Git.
- Si actualiza el área de trabajo con el contenido de Git, el contenido del área de trabajo se sobrescribirá y perderá el contenido de su área de trabajo. Puesto que una rama de Git siempre se puede restaurar en una fase anterior mientras que un área de trabajo no puede, si elige esta opción, se le pedirá que confirme.
Si no selecciona qué contenidos desea sincronizar, no podrá seguir trabajando.
Conexión a un área de trabajo compartida
Si intenta conectarse a un área de trabajo que ya está conectada a Git, es posible que reciba el siguiente mensaje:
Vaya a la pestaña Cuentas del lado derecho del panel de control de código fuente, elija una cuenta y conéctese a ella.
Estado de Git
Tras conectarse, el área de trabajo muestra una columna Estado de Git que indica el estado de sincronización de cada elemento del área de trabajo en relación con los elementos de la rama remota.
Cada elemento tiene uno de los siguientes estados:
- Sincronizado (el elemento es el mismo en el área de trabajo y la rama de Git)
- Conflicto (el elemento se cambió tanto en el área de trabajo como en la rama de Git)
- Elemento no compatible
- Cambios no confirmados en el área de trabajo
- Actualización necesaria desde Git
- El elemento es idéntico en ambos lugares, pero debe actualizarse a la última confirmación
Información de sincronización
Siempre que esté conectado, la siguiente información aparece en la parte inferior de la pantalla:
- Rama conectada
- Hora de la última sincronización
- Vínculo a la última confirmación con la que se sincroniza el área de trabajo
Panel de control de código fuente
En la parte superior de la pantalla se encuentra el icono Control de código fuente. Muestra el número de elementos que son diferentes en el área de trabajo y la rama de Git. Cuando se realizan cambios en el área de trabajo o en la rama de Git, se actualiza el número. Cuando el área de trabajo se sincroniza con la rama de Git, el icono de control de código fuente muestra un 0.
Seleccione el icono Control de código fuente para abrir el panel Control de código fuente.
El panel de control de código fuente tiene tres pestañas en el lado:
Confirmaciones y actualizaciones
Cuando se realizan cambios en el área de trabajo o en la rama de Git, el icono de control de código fuente muestra el número de elementos que son diferentes. Seleccione el icono control de código fuente para abrir el panel Control de código fuente.
El panel Confirmar y actualizar tiene dos secciones.
La sección Cambios muestra el número de elementos que se cambiaron en el área de trabajo y deben confirmarse en Git.
La sección Actualizaciones muestra el número de elementos modificados en la rama de Git y deben actualizarse al área de trabajo.
En cada sección, los elementos modificados se muestran con un icono que indica el estado:
- new
- modified
- deleted
- conflict
El botón Actualizar de la parte superior del panel actualiza la lista de cambios y actualizaciones.
Commit
- Los elementos del área de trabajo que se cambiaron se muestran en la sección Cambios. Cuando hay más de un elemento cambiado, puede seleccionar qué elementos confirmar en la rama de Git.
- Si se realizaron actualizaciones en la rama de Git, las confirmaciones se deshabilitan hasta que actualice el área de trabajo.
Actualizar
- A diferencia de commit y undo, el comando Update siempre actualiza toda la rama y se sincroniza con el commit más reciente. No se pueden seleccionar elementos específicos para actualizar.
- Si se realizaron cambios en el área de trabajo y en la rama de Git en el mismo elemento, las actualizaciones se deshabilitan hasta que se resuelva el conflicto.
Obtenga más información sobre cómo confirmar y actualizar. Obtenga más información sobre el proceso de actualización y cómo resolver conflictos.
Ramas
La pestaña Ramas del panel Control de código fuente permite administrar las ramas y realizar acciones relacionadas con la rama. Tiene dos secciones principales:
Acciones que puede realizar en la rama actual:
- Ramificar hacia una nueva área de trabajo (cualquier rol): crea una nueva área de trabajo y una nueva rama en función de la última confirmación de la rama conectada al área de trabajo actual. Se conecta a la nueva área de trabajo y a la nueva rama.
- Creación de una nueva rama (debe ser administrador del área de trabajo): crea una nueva rama en función de la última confirmación sincronizada en el área de trabajo y cambia la conexión de Git en el área de trabajo actual. No cambia el contenido del área de trabajo.
- Cambiar rama (debe ser administrador del área de trabajo): sincroniza el área de trabajo con otra rama nueva o existente e invalida todos los elementos del área de trabajo con el contenido de la rama seleccionada.
Ramas relacionadas.
La pestaña Ramas también tiene una lista de áreas de trabajo relacionadas que puede seleccionar y a las que puede cambiar. Un área de trabajo relacionada es una con las mismas propiedades de conexión que la rama actual, como la misma organización, proyecto, repositorio y carpeta de git.
Esto le permite ir a áreas de trabajo conectadas a otras ramas relacionadas con el contexto del trabajo actual, sin tener que buscarlas en la lista de áreas de trabajo de Fabric.
Haga clic en un elemento de la lista para abrir el área de trabajo correspondiente.
Para más información, consulte Limitaciones de ramificación.
Detalles de la cuenta
La pestaña Detalles de la cuenta muestra los detalles de la cuenta de GitHub a la que se está conectado el usuario. Tiene dos secciones. En la sección superior se muestra el proveedor de Git y el nombre de cuenta. En la sección inferior se muestra el repositorio y la rama a la que está conectada el área de trabajo. Actualmente, esta pestaña solo está disponible para las áreas de trabajo conectadas a GitHub.
Los detalles de la cuenta de GitHub incluyen:
Detalles de la cuenta de Git
- Proveedor
- Account name
Repositorio Git
Sucursal
Consideraciones y limitaciones
Limitaciones generales de integración de Git
- El método de autenticación en Fabric debe ser al menos tan seguro como el método de autenticación para Git. Por ejemplo, si Git requiere autenticación multifactor, Fabric también necesita autenticación multifactor.
- Los conjuntos de datos de Power BI conectados a Analysis Services no se admiten en este momento.
- Las áreas de trabajo con aplicaciones de plantilla instaladas no se pueden conectar a Git.
- No se admiten las nubes soberanas.
- La cuenta de Azure DevOps debe registrarse en el mismo usuario que usa el área de trabajo de Fabric.
- Si el área de trabajo y el repositorio de Git se encuentran en dos regiones geográficas diferentes, el administrador de inquilinos deberá habilitar las exportaciones entre áreas geográficas.
- El tamaño de una confirmación está limitado a 125 MB.
Limitaciones de GitHub Enterprise
No se admiten algunas configuraciones de GitHub Enterprise. Por ejemplo:
- Lista de direcciones IP permitidas
- Redes privadas
- Dominios personalizados
Limitaciones del área de trabajo
- Solo el administrador del área de trabajo puede administrar las conexiones al repo de Git, como conectar, desconectar o agregar una rama.
Una vez conectado, cualquier persona con permiso puede trabajar en el área de trabajo. - La estructura de carpetas del área de trabajo no se refleja en el repositorio de Git. Los elementos del área de trabajo de las carpetas se exportan al directorio raíz.
Limitaciones de rama y carpeta
- La longitud máxima del nombre de rama es de 244 caracteres.
- La longitud máxima de la ruta de acceso completa para los nombres de archivo es de 250 caracteres. Se produce un error en los nombres más largos.
- El tamaño máximo de archivo es de 25 MB.
- No puede descargar un informe o un conjunto de datos como .pbix desde el servicio después de implementarlos con Git Integration.
- Al nombrar una carpeta de Git, el identificador lógico (GUID) se añade como prefijo antes del tipo en el nombre del elemento.
- Tiene más de 256 caracteres
- Termina con . o un espacio
- Contiene cualquiera de los caracteres siguientes: " / : < > \ * ? |
Limitaciones de ramificación
- La ramificación requiere permisos que se muestran en la tabla de permisos.
- Debe haber una capacidad disponible para esta acción.
- Todas las limitaciones de nomenclatura de rama y área de trabajo y se aplican al ramificar hacia una nueva área de trabajo.
- Al ramificar, se crea una nueva área de trabajo y no se copia la configuración del área de trabajo original. Ajuste la configuración o las definiciones para garantizar que la nueva área de trabajo cumple las directivas de la organización.
- Solo los elementos compatibles con Git están disponibles en la nueva área de trabajo.
- La lista de ramas relacionadas solo muestra ramas y áreas de trabajo que tiene permiso para ver.
- La integración de Git debe estar habilitada.
Limitaciones de sincronización y confirmación
- Solo se puede sincronizar en una dirección a la vez. No se puede confirmar y actualizar al mismo tiempo.
- Las etiquetas de confidencialidad no se admiten y es posible que se deshabilite la exportación de elementos con etiquetas de confidencialidad. Para confirmar los elementos que tienen etiquetas de confidencialidad sin la etiqueta de confidencialidad, pida ayuda al administrador .
- Funciona con elementos limitados. Si hay elementos no compatibles en la carpeta, se omiten.
- No se permiten duplicaciones de nombres. Incluso si Power BI permite la duplicación de nombres, se produce un error en la acción de actualización, confirmación o deshacer.
- B2B no es compatible.
- La resolución de conflictos se realiza parcialmente en Git.
- Durante el proceso Confirmar en Git, el servicio Fabric elimina los archivos dentro de la carpeta de elementos que no forman parte de la definición de elemento. Los archivos no relacionados que no están en una carpeta de elementos no se eliminan.
- Después de confirmar los cambios, es posible que observe algunos cambios inesperados en el elemento que usted no hizo. Estos cambios son semánticamente insignificantes y pueden ocurrir por varias razones. Por ejemplo:
- Cambiar manualmente el archivo de definición de elemento. Estos cambios son válidos, pero pueden ser diferentes de si se realizan a través de los editores. Por ejemplo, si cambia el nombre de la columna de un modelo semántico en Git e importa este cambio en el área de trabajo, la próxima vez que confirme los cambios en el modelo semántico, el archivo bim se registrará como modificado y la columna modificada será insertada en la parte posterior de la
columns
matriz. Esto se debe a que el motor de AS que genera los archivos bim inserta columnas cuyo nombre ha cambiado al final de la matriz. Este cambio no afecta a la forma en que funciona el elemento. - Confirmar un archivo que usa saltos de línea CRLF. El servicio usa saltos de línea LF (avance de línea). Si tenía archivos de elementos en el repositorio de Git con saltos de línea CRLF, al confirmar desde el servicio, estos archivos se cambian a LF. Por ejemplo, si abre un informe en el escritorio, guarde el proyecto .pbip y cárguelo en Git mediante CRLF.
- Cambiar manualmente el archivo de definición de elemento. Estos cambios son válidos, pero pueden ser diferentes de si se realizan a través de los editores. Por ejemplo, si cambia el nombre de la columna de un modelo semántico en Git e importa este cambio en el área de trabajo, la próxima vez que confirme los cambios en el modelo semántico, el archivo bim se registrará como modificado y la columna modificada será insertada en la parte posterior de la
- La actualización de un modelo semántico mediante la API de actualización mejorada provoca una diferencia de Git después de cada actualización.