Italiano

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.

La vista delle modifiche di un repository: tre file, il loro stato di tracciamento e la barra di commit in basso.
Le modifiche del repository e la barra di commit: il messaggio, ciò che è selezionato e il pulsante.

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

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.

La cronologia di un repository: quattro commit, il loro oggetto, il loro autore e il grafo dei rami nella barra laterale.
La cronologia, con il suo grafo nella barra laterale: due rami partiti da una stessa radice, e l’unione che li riunisce.

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’albero delle merge request di un repository: main, le sue MR rientrate e una catena di tre MR partite l’una dall’altra
!31 è partita da !28, e !35 da !31: ognuna si colloca sotto quella di cui porta i commit, con «dopo» e «punta a main». Il pulsante a destra fa il checkout del branch; il segno di spunta indica 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.