Con git commit ottenete delle istan­ta­nee dei vostri processi e salvate le modifiche apportate al progetto. Il comando rientra quindi tra i comandi più im­por­tan­ti di cui avvalersi con qualsiasi progetto.

Registra il tuo dominio
  • Domain Connect gratuito per una con­fi­gu­ra­zio­ne facile del DNS
  • Cer­ti­fi­ca­to SSL Wildcard gratuito
  • Pro­te­zio­ne privacy inclusa

Che cos’è git commit?

Git commit è uno dei comandi Git tra i più im­por­tan­ti e mag­gior­men­te uti­liz­za­ti. Se dopo aver apportato delle modifiche a un progetto e averle testate a fondo ne siete pie­na­men­te sod­di­sfat­ti, potete usare questo comando per fare un’istan­ta­nea dello stato attuale. Git considera questa sorta di dia­po­si­ti­va come una versione sicura e accetta eventuali modifiche soltanto se gli viene richiesto espli­ci­ta­men­te di farlo. Se lavorate con un re­po­si­to­ry locale, Git crea l’istan­ta­nea anche al suo interno, senza che questo abbia con­se­guen­ze su altri re­po­si­to­ry. Per accedere all’istan­ta­nea anche da altri re­po­si­to­ry potete usare i comandi git push e git pull.

Questa è anche la dif­fe­ren­za tra Git e SVN. L’approccio de­cen­tra­liz­za­to di Git consente agli svi­lup­pa­to­ri e alle svi­lup­pa­tri­ci di lavorare con­tem­po­ra­nea­men­te a uno stesso progetto. Con git commit ogni membro del team ha così la pos­si­bi­li­tà di salvare i propri progressi di sviluppo nel re­po­si­to­ry locale. Questo metodo consente di con­ser­va­re le modifiche non soltanto tem­po­ra­nea­men­te, ma averle a di­spo­si­zio­ne anche in un secondo momento, anche qualora lo stato del progetto dovesse cambiare. In questo modo aumenta si­gni­fi­ca­ti­va­men­te la sicurezza e la pro­te­zio­ne da eventuali errori. Dovreste ricorrere a git commit a in­ter­val­li regolari e, so­prat­tut­to, dopo modifiche par­ti­co­lar­men­te im­por­tan­ti.

Fun­zio­na­men­to e sintassi di git commit

Grazie agli ambienti di lavoro isolati potete ricercare la soluzione migliore a ciascun problema senza mo­di­fi­ca­re il re­po­si­to­ry centrale. Soltanto dopo aver testato a fondo una modifica conviene in­te­grar­la nel progetto prin­ci­pa­le. A questo scopo git commit conserva tutti gli stati di sal­va­tag­gio con­sen­ten­do­vi di ritornare sui vostri passi. La sintassi di git commit è sempre la stessa ma può tuttavia essere ampliata. Con il seguente comando standard eseguite il comando git commit in una sezione di prova (staging). Dall’editor di testo inserite una nota e salvate l’istan­ta­nea:

git commit

Opzioni avanzate di git commit

Ampliando git commit potete pre­im­po­sta­re l’istan­ta­nea e ot­ti­miz­za­re così il vostro flusso di lavoro.

Salvare le modifiche nella cartella di lavoro

Con l’aggiunta di -a create un’istan­ta­nea di tutte le modifiche nella cartella di lavoro. A essere presi in con­si­de­ra­zio­ne sono tutti i file che sono stati aggiunti al re­po­si­to­ry locale in un qualsiasi momento traimite git add. Il comando sarà quindi:

git commit -a

Ag­giun­ge­re una nota

Con -m potete evitare di dover passare per l’editor di testo. Come pre­ce­den­te­men­te accennato, ogni­qual­vol­ta creiate un’istan­ta­nea con git commit vi viene richiesto di ag­giun­ge­re una nota di spie­ga­zio­ne delle modifiche ef­fet­tua­te. Ag­giun­gen­do -m potete eseguire questa ope­ra­zio­ne di­ret­ta­men­te.

git commit -m "Digitate qui il testo della vostra nota"

Combinare entrambe le opzioni -a e -m

È possibile anche combinare le due opzioni appena descritte. Con il seguente comando vengono con­si­de­ra­te tutte le modifiche nella cartella di lavoro e viene inserite anche una nota espli­ca­ti­va.

git commit -am "Digitate qui il testo della vostra nota"

Mo­di­fi­ca­re git commit

Con questa opzione mo­di­fi­ca­te l’ultimo git commit. Le nuove modifiche vengono aggiunte all’ultima istan­ta­nea. Per apportare le modifiche dovete uti­liz­za­re l’editor di testo.

git commit --amend

Esempio di git commit

A questo punto vi mostriamo un esempio pratico di come funziona git commit. Nel nostro esempio abbiamo elaborato un file e vogliamo quindi fissare le modifiche apportate. Per prima cosa le ag­giun­gia­mo alla fase di staging con il comando git add:

git add esempio.py

Con il comando git status ve­ri­fi­chia­mo se i file sono stati accettati nello staging:

git status
On branch main
Changes to be committed:
(use "git reset HEAD <file>…" to unstage)</file>
new file: esempio.py

Se lo stato soddisfa le vostre aspet­ta­ti­ve potete eseguire git commit:

git commit

A questo punto si apre l’editor di testo. No­no­stan­te possiate formulare li­be­ra­men­te la nota da allegare, risulta con­ve­nien­te iniziare con un riassunto di circa 50 caratteri, in­ter­por­re una riga vuota e, infine, fornire una spie­ga­zio­ne precisa delle singole modifiche ef­fet­tua­te. In questo modo vi as­si­cu­ra­te che tutti i membri del team possano com­pren­de­re ve­lo­ce­men­te le modifiche da voi apportate. Le righe che iniziano con un can­cel­let­to (#) vengono ignorate nella spie­ga­zio­ne. Se la spie­ga­zio­ne rimane com­ple­ta­men­te vuota, git commit non viene eseguito.

Can­cel­la­re git commit

Se lo de­si­de­ra­te, potete eliminare git commit. Tuttavia, si rac­co­man­da di farlo soltanto in casi del tutto ec­ce­zio­na­li. At­tra­ver­so la can­cel­la­zio­ne possono, infatti, pre­sen­tar­si problemi gravi, in par­ti­co­la­re se lavorate all’interno di un team.

Se eliminate un git commit dal vostro re­po­si­to­ry locale mentre un altro membro del vostro team sta lavorando con uno stato pre­ce­den­te, i punti di partenza non coin­ci­de­ran­no più e si po­treb­be­ro creare degli errori al momento dell’unione di entrambi i lavori. Con il comando git revert potete annullare le modifiche senza che la cro­no­lo­gia del vostro re­po­si­to­ry venga mo­di­fi­ca­ta. Potete eseguire una can­cel­la­zio­ne de­fi­ni­ti­va di un git commit con il comando git reset. Trovate questo e molti altri comandi nella nostra guida “Git Cheat Sheet” sca­ri­ca­bi­le in PDF.

Consiglio

Portate online il vostro progetto in tre soli passaggi! Con Deploy Now di IONOS eseguite au­to­no­ma­men­te e con sem­pli­ci­tà i comandi git push, build e deploy. Be­ne­fi­cia­te di molte utili fun­zio­na­li­tà, di una con­fi­gu­ra­zio­ne veloce e della massima sca­la­bi­li­tà.

Vai al menu prin­ci­pa­le