Viene utilizzato per registrare le modifiche nel repository. È il comando successivo dopo il git aggiungi . Ogni commit contiene i dati dell'indice e il messaggio di commit. Ogni commit forma una relazione genitore-figlio. Quando aggiungiamo un file in Git, ciò avverrà nell'area di staging. Un comando commit viene utilizzato per recuperare gli aggiornamenti dall'area di staging al repository.
La messa in scena e il committing sono correlati tra loro. Lo staging ci consente di continuare ad apportare modifiche al repository e, quando vogliamo condividere queste modifiche con il sistema di controllo della versione, il commit ci consente di registrare queste modifiche.
I commit sono le istantanee del progetto. Ogni commit viene registrato nel ramo master del repository. Possiamo richiamare i commit o ripristinarli alla versione precedente. Due commit diversi non verranno mai sovrascritti perché ogni commit ha il proprio ID commit. Questo commit-id è un numero crittografico creato da SHA (algoritmo hash sicuro) algoritmo.
Vediamo le diverse tipologie di commit.
Il comando git commit
Il comando commit applicherà le modifiche e genererà un commit-id. Il comando commit senza alcun argomento aprirà l'editor di testo predefinito e richiederà il messaggio di commit. Possiamo specificare il nostro messaggio di commit in questo editor di testo. Verrà eseguito come segue:
$ git commit
Il comando precedente richiederà un editor predefinito e richiederà un messaggio di commit. Abbiamo apportato una modifica a nuovofile1.txt e voglio che lo commetta. Può essere fatto come segue:
Considera l'output seguente:
Mentre eseguiamo il comando, verrà richiesto un editor di testo predefinito e verrà richiesto un messaggio di commit. L'editor di testo sarà simile al seguente:
premi il Esc chiave e poi ' IO ' per la modalità di inserimento. Digita un messaggio di commit come preferisci. Premere Esc dopo di che ' :wq ' per salvare e uscire dall'editor. Quindi, abbiamo effettuato con successo un commit.
Possiamo controllare il commit tramite il comando git log. Considera l'output seguente:
Possiamo vedere nell'output sopra che l'opzione log mostra l'id commit, i dettagli dell'autore, la data e l'ora e il messaggio di commit.
Per saperne di più sull'opzione di registro, visitare Registro Git .
Git commit -a
Fornisce anche il comando commit -UN opzione per specificare alcuni commit. Viene utilizzato per confermare le istantanee di tutte le modifiche. Questa opzione considera solo i file già aggiunti in Git. Non commetterà i file appena creati. Considera lo scenario seguente:
Abbiamo apportato alcuni aggiornamenti al nostro file newfile3 già predisposto e creato un file newfile4.txt. Controlla lo stato del repository ed esegui il comando commit come segue:
$ git commit -a
Considera l'output:
Il comando precedente richiederà il nostro editor di testo predefinito e richiederà il messaggio di commit. Digita un messaggio di commit, quindi salva ed esci dall'editor. Questo processo commetterà solo i file già aggiunti. Non commetterà i file che non sono stati sottoposti a stage. Considera l'output seguente:
Come possiamo vedere nell'output sopra, il newfile4.txt non è stato impegnato.
Git commit -m
L'opzione -m del comando commit ti consente di scrivere il messaggio di commit sulla riga di comando. Questo comando non richiederà l'editor di testo. Verrà eseguito come segue:
$ git commit -m 'Commit message.'
Il comando precedente effettuerà un commit con il messaggio di commit specificato. Considera l'output seguente:
Nell'output sopra, a nuovofile4.txt è impegnato nel nostro repository con un messaggio di commit.
Possiamo anche usare il -Sono opzione per file già in fase di stage. Questo comando effettuerà immediatamente un commit per i file già in stage con un messaggio di commit. Verrà eseguito come segue:
$ git commit -am 'Commit message.'
Git Commit Amend (Cambia messaggio di commit)
L'opzione di modifica ci consente di modificare l'ultimo commit. Se accidentalmente abbiamo commesso un messaggio di commit sbagliato, questa funzione è per noi un'opzione feroce. Verrà eseguito come segue:
$ git commit -amend
Il comando precedente richiederà l'editor di testo predefinito e ci consentirà di modificare il messaggio di commit.
Potremmo aver bisogno di altre operazioni essenziali relative al commit come ripristinare il commit, annullare un commit e altro, ma queste operazioni non fanno parte del comando commit. Possiamo farlo con altri comandi. Alcune operazioni essenziali sono le seguenti:
- Git annulla commit: visita Git Reset
- Git revert commit: visita Git Revert
- git rimuovi commit: visita Git Rm