GIT — Git
GIT Un repository Git si esplora come una cartella: i file modificati, i rami, la cronologia.
Aprire un repository
Il pulsante GIT della barra salta al progetto preferito; il suo clic destro dà l’elenco: i repository noti, «Commit», «Cronologia…», i rami, «Stash…» e «Stash», «Tag…», «Repository remoti». Una cartella del disco che non è ancora un repository vi propone «Clona un repository qui…». I progetti vengono aggiunti da soli entrandovi, e un progetto la cui cartella è scomparsa viene dimenticato — tranne se manca il suo disco, poiché una chiavetta scollegata non fa dimenticare nulla.
Lo stato di una cartella
Ogni riga porta il suo colore: in conflitto, non tracciato, modificato, in stage, ignorato. Un file è descritto da git su due assi — l’indice e la copia di lavoro — e una riga non ha modo di mostrare entrambi: è ciò che resta da fare a decidere il colore. Il percorso di navigazione indica il ramo corrente.
Preparare e fare il commit
«Commit» apre la vista delle modifiche: un file per riga, la colonna Tracciato che dice ciò che git ne sa. Si indicano le righe come ovunque altrove — clic, Ctrl+clic, Maiusc+clic —, si scrive il messaggio in basso, e Commit parte con ciò che è selezionato. Nulla di selezionato, nulla parte: il pulsante lo dice.
Il pulsante Non tracciati, nella barra del commit, nasconde ciò che git non traccia: una cartella piena di file usa e getta non sommerge più i due che si vogliono committare, e Ctrl+A non li porta più con sé. Deselezionato, dice quanti ne nasconde.

Vedere le differenze
«Mostra le differenze» apre il diff blocco per blocco, tra la copia di lavoro, l’indice (in stage) e un commit — prima e dopo vi sono nominati. Un file binario lo dice invece di mostrare rumore.
I gesti
- Commit con il suo messaggio.
- Ignora: il file entra nel
.gitignore. - Ripristina (scarta le modifiche): la finestra dice quanti file nuovi verranno eliminati dal disco e quanti riprenderanno lo stato del repository. Il lavoro non committato va perso — è scritto.
- Copia › appunti: una riga delle modifiche è un file del disco, e si copia come tale — per incollarla altrove, anche fuori da Meneaufile. Né taglia né incolla: l’elenco è ricomposto da git, non se ne toglie una riga e non vi si scrive nulla.
- Apri nella sua posizione: il file è altrove rispetto alla sua riga — questa vive nell’elenco, lui nella copia di lavoro, dove lo si modifica. È lì che porta la voce.
I rami e la cronologia
Creare un ramo, passare a esso, unire — la voce porta il nome del ramo, e risponde niente da unire: già aggiornato oppure unione interrotta: alcuni file sono in conflitto. «Cronologia…» elenca i commit: il loro hash breve, il loro oggetto, il loro autore, la loro data. La barra laterale di sinistra disegna il grafo, ogni riga sulla sua, e un’unione traccia il suo tratto verso la colonna vicina. Un doppio clic apre il dettaglio di un commit: il suo messaggio completo e i file che ha toccato.

L’albero delle merge request
Albero delle merge request…, nel menu del pulsante GIT, disegna le MR aperte del progetto GitLab indicato dal remoto. Ognuna si colloca sotto il branch da cui parte, rientrata di un passo come un sommario: la fase indica in che ordine approvarle, e un clic su una scheda apre la MR nel browser.
- L’origine si legge nei commit. Una MR partita da un’altra si colloca sotto di essa, anche quando entrambe puntano a
main: «dopo !28» dice quale approvare prima, e «punta a main» avverte che punta ancora amain— unirla per prima porterebbe con sé i commit dell’altra. - I badge mostrano lo stato fornito da GitLab: bozza, conflitti, da ribasare, da approvare, discussioni aperte, pipeline in corso, pronta.
- Il pulsante Checkout, in alto a destra di ogni scheda, porta la copia di lavoro sul branch della MR, per provarla o rileggerla prima di approvarla. Il branch viene prima recuperato dal server; il lavoro in corso può essere accantonato, come per ogni cambio di branch. Un segno di spunta indica il branch su cui ci si trova già.
- Il token di accesso personale, con il permesso
read_api, si crea in GitLab: User settings › Access › Personal access tokens › Generate token. Meneaufile lo chiede una volta e lo conserva nella cassaforte, in una scheda tutta sua; una scheda NET con la password dell’account non viene presa per un token.

main, dove ci si trova.Scambiare con il repository remoto
«Pull (tirare)» e «Push (spingere)», con il numero di commit in gioco accanto all’etichetta — lo zero non si scrive. Un ramo che non esiste ancora sul remoto parte con il suo upstream. I repository remoti si dichiarano e si rimuovono dallo stesso menu. Quando il server chiede come autenticarsi, Meneaufile lo chiede a sua volta invece di restare bloccato senza dire nulla.
Mettere da parte
«Stash…» mette da parte il lavoro in corso senza committarlo, con una descrizione facoltativa; «Stash» — Lavoro messo da parte — elenca ciò che attende, e da lì lo si riprende o lo si elimina. «Tag…» ne aggiunge e ne rimuove allo stesso modo.
Chi ha scritto questa riga
«Annotazioni», nel menu di un file, attribuisce ogni riga al suo commit e al suo autore. È la domanda che ci si pone davanti a una riga sorprendente, e un elenco di commit non risponde.
I conflitti
Un file in conflitto si apre sulle sue versioni: la versione comune, la nostra, la loro, e il risultato che si costruisce. «Prendi tutto» versa un lato intero, «Risolvi» salva — e il file esce dalla categoria in conflitto.
Clonare
Da una cartella: l’indirizzo
(https://… o git@host:org/repo.git), il nome della cartella
da creare, e una cronologia completa o superficiale — gli ultimi N commit.
I bundle
Un file .bundle è un repository Git impacchettato in un solo file:
quanto basta per portare un progetto su una chiavetta, o passarlo a qualcuno, senza
server. Il doppio clic dice cosa contiene — i suoi rami, i suoi tag — e
Clona qui… ne fa un repository ordinario, accanto a lui, senza
rete. In un repository, Crea un bundle… nel menu di GIT lo
impacchetta per intero nella cartella dell’altra vista.
Se git manca
Meneaufile chiama il git del sistema. Se è assente o fuori dal PATH, lo
dice invece di fallire senza motivo.
Manuale di Meneaufile, in italiano.