Main Content

Esta página es para la versión anterior. La página correspondiente en inglés ha sido eliminada en la versión actual.

Configurar el control de versiones de Git

Configurar MATLAB en Windows

Para configurar MATLAB® para que use Git™ Hooks en Windows®, instale Cygwin y agréguelo a la ruta de la biblioteca de MATLAB. Git Hooks son scripts personalizados que se pueden activar por operaciones como confirmar, fusionar y recibir confirmaciones automáticas.

  1. Descargue el instalador desde https://www.cygwin.com/. Ejecute el instalador.

  2. Abra librarypath.txt. En la ventana de comandos de MATLAB, escriba lo siguiente:

    edit(fullfile(matlabroot,"toolbox","local","librarypath.txt"))

    Agregue la ubicación de la carpeta de la papelera de reciclaje de Cygwin al final de librarypath.txt, por ejemplo, C:\cygwin64\bin.

    Si no tiene permiso para editar el archivo librarypath.txt, consulte Locate Native Method Libraries.

  3. Reinicie MATLAB para que los cambios tengan efecto.

Para usar Git LFS o un asistente de credenciales, tiene que instalar también Git de la línea de comandos. Para obtener más información, consulte Utilizar Git LFS con MATLAB y Configurar el asistente de credenciales de Git.

Puede clonar un repositorio remoto como GitHub® y GitLab™ usando HTTPS o SSH. Para evitar las frecuentes peticiones de inicio de sesión cuando interactúe con su repositorio remoto usando HTTPS, configure un administrador de credenciales de Git para recordar las credenciales o agregue una nueva clave pública y clone el repositorio usando SSH en su lugar. Para obtener más información, consulte Configurar el asistente de credenciales de Git y Utilizar la autenticación de SSH con MATLAB.

Para los nuevos proyectos bajo el control de versiones de Git, MATLAB registra automáticamente los archivos binarios para evitar que se dañen cuando se realice la fusión. Para los proyectos existentes, registre los archivos binarios antes de usar Git para fusionar las secciones. Para obtener más información, consulte Registrar archivos binarios con Git.

Si está trabajando con archivos con rutas largas, ejecute este comando en MATLAB:

!git config --global core.longpaths true

Utilizar la autenticación de SSH con MATLAB

Para evitar las frecuentes peticiones de inicio de sesión cuando interactúe con su repositorio remoto usando HTTPS, agregue una nueva clave pública y clone el repositorio usando SSH en su lugar.

Para utilizar la autenticación de SSH en MATLAB:

  1. Utilice ssh-keygen para generar claves de SSH válidas. En la línea de comandos, introduzca:

    ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (C:\Users\username/.ssh/id_rsa):
    Created directory 'C:\Users\username/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in C:\Users\username/.ssh/id_rsa.
    Your public key has been saved in C:\Users\username/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:/Nc9/tnZ7Dmh77+iJMxmPVrlPqaFd6J1j1YRXEk3Tgs company\username@us-username
    ssh-keygen confirma dónde guardar la clave (por ejemplo, .ssh/id_rsa) y pide una contraseña. Si no desea escribir una contraseña al usar la clave, deje la contraseña vacía. Si ya tiene claves en la carpeta especificada, ssh-keygen pregunta si desea sobrescribirlas.

    Nota

    No se pueden generar claves de SSH directamente en MATLAB. Genere claves de SSH usando la ssh-keygen proporcionada con la instalación de Git en la línea de comandos.

  2. Coloque las claves en la carpeta pertinente.

    • En Windows, coloque las claves en la carpeta USERPROFILE/.ssh o HOME/.ssh. Para comprobar con qué directorio de USERPROFILE está trabajando la integración de Git en MATLAB, en la ventana de comandos de MATLAB, introduzca:

      getenv('USERPROFILE')

      Para utilizar varias claves, utilice Pageant como agente de SSH. Si se está ejecutando Pageant, MATLAB busca claves en Pageant antes de buscar en USERPROFILE/.ssh.

    • En Linux y Mac, coloque las claves en la carpeta HOME/.ssh. Para comprobar con qué directorio de HOME está trabajando la integración de Git en MATLAB, en la ventana de comandos de MATLAB, introduzca:

      getenv('HOME')

      Para utilizar varias claves, utilice un agente de SSH. Si hay un agente de SSH en ejecución, MATLAB busca claves en el agente antes de buscar en HOME/.ssh.

    Para habilitar el uso de una frase de contraseña y recibir una solicitud una vez por sesión, elija una de las opciones siguientes:

    • Utilice un agente de SSH. En Windows, utilice Pageant como agente de SSH.

    • En la ventana de comandos de MATLAB, escriba lo siguiente:

      git = settings().matlab.sourcecontrol.git;
      git.KeyHasPassphrase.PersonalValue = true;

  3. Configure su cuenta de GitHub o GitLab para utilizar las claves de SSH:

    • Copie el contenido del archivo .pub en la carpeta .ssh.

    • Pegue el contenido del campo Agregar clave de SSH en la sección de claves de SSH de los ajustes de la cuenta.

Configurar el asistente de credenciales de Git

Puede configurar una integración de Git con MATLAB para usar un asistente de credenciales para recordar nombres de usuario y contraseñas. Para todas las plataformas, se recomienda que Git Credential Manager Core sea el asistente de credenciales.

Para usar Credential Manager Core en Windows:

  1. Descargue el instalador de https://gitforwindows.org/ y ejecútelo.

  2. En la sección sobre elegir un asistente de credenciales, seleccione Git Credential Manager Core.

Registrar archivos binarios con Git

Si utiliza herramientas de control de versiones externas, debe registrar sus extensiones de archivo de MATLAB y Simulink® como .mlx, .mat, .fig, .mlapp, .mdl, .slx, .mdlp, .slxp, .sldd y .p como formatos binarios. Si no registra las extensiones, estas herramientas pueden dañar los archivos al enviarlos, cambiando los caracteres de final de línea, expandiendo los tokens, sustituyendo las palabras clave o intentando fusionar automáticamente. El daño se puede producir si utiliza herramientas de control de versiones que no sean de MATLAB o si intenta enviar archivos desde MATLAB sin registrar primero los formatos de archivo.

Compruebe también que otras extensiones de archivo estén registradas como binarias para evitar daños en la recepción. Compruebe y registre archivos como MEX, .xlsx, .jpg, .pdf, .docx, etc.

Puede evitar que Git dañe los archivos registrando los archivos binarios en el archivo .gitattributes.

  • Para nuevos proyectos y proyectos procedentes de otro sistema de control de versiones, MATLAB crea automáticamente un archivo .gitattributes y lo rellena con una lista de archivos binarios que se registrarán. Esto especifica que Git no debe hacer intentos automáticos de avance de línea, comparación ni fusión para los archivos registrados.

  • Para los proyectos existentes, cree un archivo .gitattributes y rellénelo con la lista de archivos binarios que desee registrar.

    1. En la ventana de comandos, escriba:

      edit .gitattributes

    2. Agregue una línea en el archivo de atributos para cada tipo de archivo que necesite. Por ejemplo, *.mlapp binary.

      Sugerencia

      Puede copiar un archivo .gitattributes que contenga la lista de archivos binarios comunes que se registrarán.

      copyfile(fullfile(matlabroot,'toolbox','shared','cmlink','git','auxiliary_files','mwgitattributes'),fullfile(pwd,'.gitattributes'))

    3. Reinicie MATLAB para comenzar a usar el cliente de Git.

Sugerencia

Puede reducir el tamaño del repositorio de Git guardando modelos de Simulink sin comprimir. Desactivar la compresión tiene como resultado unos archivos SLX más grandes en disco, pero reduce el tamaño del repositorio.

Para utilizar esta configuración con nuevos archivos SLX, cree sus modelos mediante una plantilla de modelos con la compresión de SLX establecida en ninguna. Para los archivos SLX existentes, establezca la compresión y, después, guarde el modelo. Para obtener más información, consulte Set SLX Compression Level (Simulink).

Utilizar Git LFS con MATLAB

Para usar Git Large File Storage (LFS) con la integración de MATLAB y Git, instale Git y LFS en la línea de comandos.

Para usar Git LFS en Windows:

  1. Descargue el instalador de https://gitforwindows.org/ y ejecútelo.

  2. En la sección para elegir los componentes que se han de instalar, seleccione Git LFS (Large File Support) y los archivos .sh correspondientes que se van a ejecutar con Bash.

  3. En la sección para ajustar su PATH, elija la opción de instalación Git de la línea de comandos y, también, del software de terceros. Esta opción agrega Git a su variable PATH y hace que esté disponible en todo el sistema para que MATLAB se pueda comunicar con Git.

LFS utiliza Git Hooks. Asegúrese de tener Cygwin instalado. Para obtener más información, consulte Configurar MATLAB en Windows.

MATLAB no es compatible con el bloqueo de Git LFS. MATLAB no tiene integración con los comandos de LFS como git lfs track. En su lugar, utilice !git lfs track.

Temas relacionados