Configurar el control de versiones de Git
Puede utilizar el control de versiones de Git™ en MATLAB® para gestionar sus archivos y colaborar con otros. Al utilizar Git, puede registrar los cambios en sus archivos y recuperar versiones específicas más tarde. Para obtener más información, consulte .
Antes de utilizar Git, siga estos pasos para configurarlo para MATLAB:
Registre los archivos binarios con Git para evitar que se dañen los archivos. (Obligatorio para todos los sistemas)
Habilite la compatibilidad para rutas largas para Git en un sistema Windows®. (Recomendado para sistemas Windows)
Configure MATLAB para firmar confirmaciones. (Opcional)
Configure MATLAB para la autenticación SSH de Git o instale un asistente de credenciales de Git para evitar peticiones frecuentes de inicio de sesión. (Opcional)
Configure Git para utilizar Git LFS si está trabajando con archivos grandes. (Opcional)
Configure herramientas externas de Git para utilizar MATLAB para Diff y Merge. (Opcional)
A partir de la versión R2024a, la integración de Git en MATLAB ejecuta Git Hooks sin una configuración adicional. Los Git Hooks compatibles son pre-commit
, commit-msg
, post-commit
, prepare-commit-msg
, pre-push
, pre-merge-commit
, post-checkout
y post-merge
. Para ver un ejemplo, consulte Use Git Hooks in MATLAB.
Antes de la versión R2024a, para utilizar algunos Git Hooks con MATLAB, instale Cygwin™ y agréguelo en la ruta de la biblioteca MATLAB. Para obtener instrucciones, consulte Instalar Cygwin (antes de la versión R2024a).
En las versiones anteriores a R2020b, debe tener instalado un cliente Git de línea de comandos para utilizar Git para fusionar ramas en MATLAB. Para obtener más información, consulte Instalar cliente de Git de línea de comandos.
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. Registre también extensiones para archivos MEX, como .mexa64
, .mexmaci64
, .mexmaca64
y .mexw64
. 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 extensiones de archivos, como .xlsx
, .jpg
, .pdf
, .docx
, etc.
Para registrar las extensiones de sus archivos binarios con Git, añádalos al archivo .gitattributes
de su repositorio. Si crea un nuevo proyecto que utilice el control de versiones de Git o cambia un proyecto existente de otro sistema de control de versiones al control de versiones de Git, MATLAB crea automáticamente un archivo .gitattributes
y lo rellena con una lista de archivos binarios comunes que se registrarán.
Si no se crea automáticamente un archivo .gitattributes
, puede crear uno que contenga la lista de archivos binarios comunes que se registrarán. En la ventana de comandos de MATLAB, escriba lo siguiente:
copyfile(fullfile(matlabroot,'toolbox','shared','cmlink','git','auxiliary_files', ... 'mwgitattributes'),fullfile(pwd,'.gitattributes'))
De forma alternativa, cree un archivo .gitattributes
en blanco en su repositorio y rellene su contenido.
Añada
* text=auto
a la parte superior del archivo.gitattributes
.Para cada extensión de archivo binario
ext
, agregue*.
. Por ejemplo,ext
binary*.mlapp binary
.
Habilitar compatibilidad para rutas largas
Para habilitar la compatibilidad para rutas largas en un sistema Windows, ejecute este comando en MATLAB:
!git config --global core.longpaths true
Habilitar la firma de confirmaciones
Para firmar confirmaciones, configure Git ejecutando estos comandos en MATLAB.
Habilite la firma de confirmaciones de manera automática.
!git config --global commit.gpgsign true
Establezca la clave de firma y el formato de la clave. Los formatos de clave compatibles son
X.509
yOpenPGP
(predeterminado). En este ejemplo, el ID de la clave es3AB5C344325645B2
y el formato de la clave esX.509
.!git config --global user.signingkey 3AB5C344325645B2 !git config --global gpg.format x509
Especifique la utilidad utilizada para firmar confirmaciones. En este ejemplo, el comando configura Git para usar
smimesign
como una utilidad de firmas.!git config --global gpg.x509.program smimesign
Para usar
OpenPGP
en su lugar, ejecute!git config --global gpg.openpgp.program gpg
.
Configurar MATLAB para utilizar la autenticación de SSH de Git
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. Esta tabla proporciona instrucciones sobre cómo configurar MATLAB para utilizar la autenticación SSH según su sistema operativo.
Sistema operativo | Instrucciones |
---|---|
Windows |
|
Linux® y macOS |
|
Administrar las credenciales de Git
MATLAB recuerda los nombres de usuario y tokens cuando interactúa con repositorios Git.
Como alternativa, también puede instalar un asistente de credenciales de Git externo y configurar MATLAB para que lo utilice en su lugar. El asistente de credenciales recomendado para todas las plataformas es Git Credential Manager Core. Para obtener más información, consulte Configurar MATLAB para que utilice el asistente de credenciales de Git.
Para eliminar la información de inicio de sesión guardada en un repositorio Git escriba lo siguiente en MATLAB:
matlab.git.clearCredential("https://github.com/myrepo.git")
Configurar MATLAB para que utilice el asistente de credenciales de Git
Para instalar Git Credential Manager Core en un sistema Windows y configurar MATLAB para que lo utilice para almacenar credenciales de Git, siga estos pasos:
Descargue y ejecute el instalador de Git para Windows siguiendo las instrucciones descritas en Instalar cliente de Git de línea de comandos.
En la sección Choose a credential helper del instalador, seleccione Git Credential Manager Core como asistente de credenciales. Esto define el valor de
credential.helper
en el archivo.gitconfig
global.También puede establecer el valor de
credential.helper
en el archivo.gitconfig
global de forma manual.
Desactivar la compresión para modelos de Simulink (antes de la versión R2023b)
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).
Nota
A partir de la versión R2023b, de forma predeterminada, Simulink no realiza ninguna compresión en la operación de guardado.
Configurar Git para utilizar Git LFS
Desde R2021a
Si está trabajando con archivos grandes, configure Git para utilizar Git Large File Storage (LFS) instalando un Git de línea de comandos y configurando LFS.
Por ejemplo, para utilizar Git LFS en un sistema Windows, descargue y ejecute el instalador de Git para Windows utilizando las instrucciones descritas en Instalar cliente de Git de línea de comandos. En la sección Select Components del instalador de Git para Windows, seleccione Git LFS (Large File Support) y los archivos .sh correspondientes que se van a ejecutar con las opciones Bash.
MATLAB no es compatible con el bloqueo de Git LFS. Además, MATLAB no es compatible con comandos LFS como git lfs track
. En su lugar, utilice !git lfs track
.
Configurar herramientas externas de Git para utilizar MATLAB para Diff y Merge
Puede configurar Git para utilizar la herramienta de comparación de MATLAB para Diff y Merge. La herramienta de comparación de MATLAB proporciona herramientas para fusionar archivos de MathWorks® como scripts en vivo y archivos MAT, SLX o MDL. Puede utilizar la herramienta de autofusionado con Git para fusionar automáticamente ramas que contienen cambios en distintos subsistemas en el mismo archivo SLX.
Para obtener más información acerca de cómo configurar herramientas externas de Git para utilizar la herramienta de comparación de MATLAB, consulte Customize External Source Control to Use MATLAB for Diff and Merge.
Configuración adicional
Instalar cliente de Git de línea de comandos
Para utilizar Git LFS o un asistente de credenciales, debe instalar un cliente de Git de línea de comandos y ponerlo a disposición de todo el sistema. En las versiones anteriores a R2020b, debe tener instalado un cliente Git de línea de comandos para utilizar Git para fusionar ramas en MATLAB.
Para comprobar si Git está instalado, introduzca el comando !git
en la ventana de comandos de MATLAB. Si el comando no devuelve nada, tendrá que instalar la línea de comandos Git. Esta tabla proporciona instrucciones para instalar el Git de línea de comandos según su sistema operativo.
Sistema operativo | Instrucciones |
---|---|
Windows |
|
Linux | Git está disponible para la mayoría de distribuciones. Instale Git para su distribución. Por ejemplo, en Debian®, instale Git introduciendo: sudo apt-get install git |
macOS | En Mavericks (10.9) o superior, ejecute Git desde la ventana Terminal. Si todavía no tiene Git instalado, le pedirá que instale las herramientas de línea de comandos Xcode. Para obtener más información, consulte https://git-scm.com/doc. |
Instalar Cygwin (antes de la versión R2024a)
Antes de la versión R2024a, para ejecutar algunos Git Hooks dentro de MATLAB, debe instalar Cygwin. Los Git Hooks compatibles son pre-commit
, commit-msg
, post-commit
y pre-push
.
Siga estos pasos para instalar Cygwin en un sistema Windows y agregarlo a la ruta de la biblioteca MATLAB y a la ruta del sistema.
Descargue y ejecute el instalador desde https://www.cygwin.com/.
En MATLAB, abra
librarypath.txt
.edit(fullfile(matlabroot,"toolbox","local","librarypath.txt"))
Agregue la ubicación de la carpeta bin de Cygwin al final de
librarypath.txt
, por ejemplo,C:\cygwin64\bin
.## ## FILE: librarypath.txt ## ## Entries: ## o path_to_jnifile ## o [alpha,glnx86,sol2,unix,win32,mac]=path_to_jnifile ## o $matlabroot/path_to_jnifile ## o $jre_home/path_to_jnifile ## $matlabroot/bin/$arch $matlabroot/sys/jxbrowser/$arch/lib C:\cygwin64\bin
Si no tiene permiso para editar el archivo
librarypath.txt
, consulte Locate Native Method Libraries.Agregue la carpeta bin de Cygwin a la ruta del sistema. Para obtener más información, consulte https://www.mathworks.com/matlabcentral/answers/94933-how-do-i-edit-my-system-path-in-windows.
Reinicie MATLAB.