Commit

No contexto de ciência da computação, gerenciamento de dados e controle de versão, commit refere-se ao processo de tornar permanente um conjunto de alterações, ou seja, de efetivar as alterações. Um uso comum é a conclusão de uma transação. Um commit é o ato de enviar e guardar, ou seja, enviar dados ou códigos para armazenamento em um banco de dados ou em um sistema de controle de versão.

Gerenciamento de dados

Uma declaração COMMIT em SQL finaliza uma transação dentro de um sistema de gerenciamento de banco de dados (SGBD) e torna visíveis aos usuários todas as alterações. O formato geral é emitir uma declaração BEGIN WORK, uma ou mais declarações SQL e então a declaração COMMIT. Alternativamente, uma declaração ROLLBACK pode ser emitida, o que desfaz todo o trabalho realizado desde que BEGIN WORK foi emitida. Uma declaração COMMIT também liberará quaisquer savepoints que podem estar em uso.

Em termos de transações, o oposto de commit é descartar as mudanças experimentais de uma transação, um rollback.

Controle de versão

Commits também são feitos em sistemas de controle de versão para código fonte como o Subversion, Mercurial, Git ou CVS.[1] Um commit no contexto destes sistemas de controle de versão refere-se a submeter as últimas alterações do código fonte ao repositório e tornar estas alterações parte da versão principal (head) do repositório. Deste modo, quando outros usuários fazem um UPDATE ou um checkout do repositório, eles receberão a versão enviada mais recentemente, a menos que eles especifiquem que querem recuperar uma versão anterior do código fonte no repositório. Sistemas de controle de versão também possuem funcionalidade similar aos bancos de dados SQL, que permitem reverter facilmente às versões anteriores. Neste contexto, um commit com um sistema de controle de versões não é tão perigoso, uma vez que ele permite uma fácil reversão, mesmo após o commit já ter sido feito.

Referências

Ícone de esboço Este artigo sobre ciência da computação é um esboço. Você pode ajudar a Wikipédia expandindo-o.