Impostazione del controllo della sorgente Git
R2026bÈ possibile utilizzare il controllo della sorgente Git™ in MATLAB® per gestire file e collaborare con altre persone. Utilizzando Git, è possibile tenere traccia delle modifiche apportate ai file e chiamare versioni specifiche in un secondo momento. Per maggiori informazioni, vedere Tracking del lavoro a livello locale con Git in MATLAB e Collaborazione utilizzando Git in MATLAB.
Prima di utilizzare Git, seguire questi passaggi per impostarlo per MATLAB:
(Richiesto per tutti i sistemi) Registrare i file binari con Git per evitare la corruzione dei file. Per maggiori informazioni, vedere Registrazione di file binari con Git.
(Consigliato per i sistemi Windows®) Abilitare il supporto per i percorsi lunghi per Git su un sistema Windows. Per maggiori informazioni, vedere Abilitazione del supporto per i percorsi lunghi.
(Consigliato per tutti i sistemi) Configurare MATLAB per unire automaticamente i file dei modelli. Per maggiori informazioni, vedere Automatically Merge Models Locally and in CI Pipeline (Simulink).
(Opzionale) Configurare MATLAB per firmare i commit. Per maggiori informazioni, vedere Abilitazione della firma dei commit.
(Opzionale) Configurare MATLAB per utilizzare l'autenticazione SSH Git oppure installare un helper per le credenziali Git per evitare frequenti richieste di accesso. Per maggiori informazioni, vedere Configurazione di MATLAB per utilizzare l'autenticazione SSH Git.
(Opzionale) Configurare MATLAB per gestire le credenziali Git. Per maggiori informazioni, vedere Gestione delle credenziali Git.
(Opzionale) Configurare Git per utilizzare Git LFS se si lavora con file di grandi dimensioni. Per maggiori informazioni, vedere Configurazione di Git per utilizzare Git LFS.
(Opzionale) Configurare strumenti esterni Git per utilizzare MATLAB per il confronto e l'unione. Per maggiori informazioni, vedere Customize External Source Control to Use MATLAB for Diff and Merge.
A partire dalla release R2024a, è possibile eseguire gli hook Git dall'interno di MATLAB. Gli hook supportati sono pre-commit, commit-msg, post-commit, prepare-commit-msg, pre-push, pre-merge-commit, post-checkout e post-merge. Per un esempio, vedere Use Git Hooks in MATLAB.
Registrazione di file binari con Git
Se si utilizzano strumenti di controllo della sorgente di terze parti, è necessario registrare le estensioni dei file di MATLAB e Simulink®, quali .mlx, .mat, .fig, .mlapp, .mdl, .slx, .mdlp, .slxp, .sldd e .p come formati binari. Registrare anche le estensioni per i file MEX, quali .mexa64, .mexmaci64, .mexmaca64 e .mexw64. Se non si registrano le estensioni, questi strumenti potrebbero corrompere i file al momento dell'invio, modificando i caratteri di fine riga, espandendo i token, sostituendo le parole chiave o tentando di eseguire un'unione automatica. La corruzione può verificarsi se si utilizzano gli strumenti di controllo della sorgente al di fuori di MATLAB o se si tenta di effettuare un invio di file da MATLAB senza aver prima registrato i formati dei file.
Registrare anche altre estensioni di file, quali .xlsx, .jpg, .pdf e .docx come formati binari per evitare la corruzione durante l'operazione di check-in.
Per registrare le estensioni dei file binari con Git, aggiungerle al file .gitattributes presente nel repository. Se si crea un nuovo progetto che utilizza il controllo della sorgente Git oppure si trasferisce un progetto esistente da un altro sistema di controllo della sorgente al controllo della sorgente Git, MATLAB crea automaticamente un file .gitattributes e lo popola con un elenco di file binari comuni da registrare.
Se un file .gitattributes non viene creato automaticamente, è possibile crearne uno contenente l'elenco dei file binari comuni da registrare. Nella finestra di comando di MATLAB, inserire:
copyfile(fullfile(matlabroot,'toolbox','shared','cmlink','git','auxiliary_files', ... 'mwgitattributes'),fullfile(pwd,'.gitattributes'))
In alternativa, creare un file .gitattributes vuoto nel repository e popolarne il contenuto.
Aggiungere
* text=autoall'inizio del file.gitattributes.Per ogni estensione di file binario
ext, aggiungere*.. Ad esempio,extbinary*.mlapp binary.
Abilitazione del supporto per i percorsi lunghi
Abilitare il supporto per i percorsi lunghi su un sistema Windows seguendo questi passaggi.
Nella scheda Home, nella sezione Environment, fare clic su Settings. Selezionare MATLAB > Source Control > Git.
Nella sezione Windows, selezionare Enable support for long paths. In questo modo si imposta il valore di
core.longpathssutruenel file di configurazione globale Git.
Per maggiori informazioni, vedere Configure Git Settings.
Abilitazione della firma dei commit
Configurare le impostazioni di controllo della sorgente per consentire a MATLAB di firmare automaticamente i commit Git seguendo questi passaggi. Quando MATLAB verifica la firma di un commit, accanto all'avatar e al nome utente compare un'icona di verifica verde
sia in Branch Manager che nelle annotazioni di riga nell'Editor di MATLAB.
Nella scheda Home, nella sezione Environment, fare clic su Settings. Selezionare MATLAB > Source Control > Git.
Nella sezione Commit Signing, impostare la chiave di firma, il formato della chiave di firma e il programma di firma. Per maggiori informazioni, vedere Configure Git Settings.
Configurazione di MATLAB per utilizzare l'autenticazione SSH Git
Per evitare frequenti richieste di accesso quando si interagisce con il repository remoto utilizzando HTTPS, aggiungere una nuova chiave pubblica e utilizzare invece SSH per clonare il repository. Configurare MATLAB per utilizzare l'autenticazione SSH seguendo questi passaggi.
Generare una chiave SSH utilizzando il comando
ssh-keygen. Ad esempio, al prompt dei comandi, inserire questo comando:ssh-keygen -t ed25519 -C "your_email@example.com"
ssh-keygenrichiede di confermare la posizione in cui salvare la chiave e chiede di inserire una passphrase. Se non si desidera digitare una password quando si utilizza la chiave, lasciare il campo della passphrase vuoto.Se sono già presenti delle chiavi nella cartella specificata,
ssh-keygenchiede se si desidera sovrascriverle.Impostare l'utilizzo delle chiavi SSH in MATLAB. Nella scheda Home, nella sezione Environment, fare clic su Settings. Selezionare MATLAB > Source Control > Git. Quindi, configurare le impostazioni.
Nella sezione SSH, selezionare Enable SSH qualora non fosse abilitato.
Per impostazione predefinita, MATLAB cerca le chiavi in un agente SSH. In Windows, utilizzare OpenSSH come agente SSH. Per maggiori informazioni, vedere Key-based authentication in OpenSSH for Windows (Autenticazione basata su chiave in OpenSSH per Windows).
L'utilizzo di un agente SSH consente di memorizzare e utilizzare più chiavi.
Se non si utilizza un agente SSH per memorizzare le chiavi, è possibile inserirle manualmente. Deselezionare la casella di spunta Use SSH agent. Quindi, specificare il percorso dei file delle chiavi pubblica e privata nei campi Public key file e Private key file. Per maggiori informazioni, vedere Configure Git Settings.
Per abilitare l'utilizzo di una passphrase e ricevere una richiesta una volta per sessione, selezionare Key is pass-phrase protected.
Configurare l'account GitHub® o GitLab® per utilizzare le chiavi SSH. Per farlo, andare alla cartella
.sshe copiare il contenuto del file.pub. Quindi, andare alle impostazioni dell'account e, nella sezione SSH keys, incollare il contenuto del file.pubnel campo Add SSH key.
Gestione delle credenziali Git
Per impostazione predefinita, MATLAB memorizza i nomi utente e i token quando si interagisce con i repository Git. Per modificare le impostazioni predefinite relative alle credenziali, nella scheda Home, nella sezione Environment, fare clic su Settings. Selezionare MATLAB > Source Control > Git. Nella sezione Credentials, selezionare una delle opzioni disponibili. Per maggiori informazioni, vedere Configure Git Settings.
In alternativa, è possibile installare un helper per le credenziali Git esterno e configurare MATLAB affinché lo utilizzi. L'helper per le credenziali consigliato per tutte le piattaforme è Git Credential Manager Core. Per maggiori informazioni, vedere Configurare MATLAB per utilizzare l'helper per le credenziali Git in Ulteriore impostazione.
Per eliminare le credenziali di accesso salvate per un repository Git in MATLAB, inserire:
matlab.git.clearCredential("https://github.com/myrepo.git")Configurazione di Git per utilizzare Git LFS
Se si lavora con file di grandi dimensioni, configurare Git per utilizzare Git Large File Storage (LFS) installando Git dalla riga di comando e impostando LFS.
Ad esempio, per utilizzare Git LFS su un sistema Windows, scaricare ed eseguire il programma di installazione di Git per Windows seguendo le istruzioni descritte in Installazione del client Git dalla riga di comando in Ulteriore impostazione. Nella sezione Select Components del programma di installazione di Git per Windows, selezionare le opzioni Git LFS (Large File Support) e Associate .sh files to be run with Bash (Associare i file .sh all'esecuzione con bash).
Ulteriore impostazione
Per utilizzare Git LFS o un helper per le credenziali, è necessario installare un client Git dalla riga di comando e renderlo disponibile a livello di sistema.
MATLAB memorizza i nomi utente e i token quando si interagisce con i repository Git. In alternativa, è possibile utilizzare un helper per le credenziali Git esterno per memorizzare proprie credenziali Git. Git Credential Manager Core è l'helper per le credenziali consigliato per tutte le piattaforme.