Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

Configurar el control de versiones de Git

Nota

A partir de la versión R2020b, no es necesario instalar Git™ en la línea de comandos para utilizar Git en su totalidad con MATLAB®. Ahora puede fusionar secciones con la integración de Git incorporada.

Para configurar Git para las versiones previas a la versión R2020b, consulte https://www.mathworks.com/help/releases/R2020a/matlab/matlab_prog/set-up-git-source-control.html.

Configurar MATLAB en Windows

Varias operaciones, como confirmar, fusionar y recibir confirmaciones automáticas, utilizan Git Hooks. Para utilizar Git Hooks en Windows® con MATLAB, instale Cygwin y agréguelo en la ruta de la biblioteca de MATLAB:

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

  2. En la ventana de comandos de MATLAB, escriba 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 Localice bibliotecas de métodos nativos.

  3. Reinicie MATLAB para que los cambios tengan efecto.

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 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. 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 o claves con contraseñas, 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.

    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 o claves con contraseñas, utilice Pageant como agente de SSH. Si se está ejecutando Pageant, MATLAB busca claves en Pageant antes de buscar en USERPROFILE/.ssh.

  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.

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).

Configurar el asistente de credenciales de Git

Puede configurar Git para utilizar un asistente de credenciales que le ayude a recordar nombres de usuario y contraseñas. Para todas las plataformas, se recomienda que Git Credential Manager Core sea el asistente de credenciales.

Para recordar las credenciales, Git debe estar instalado. En Windows, instale Git para Windows.

Temas relacionados