Como salvar alterações

Como salvar alterações

Ao trabalhar no Git, ou em outros sistemas de controle de versão, o conceito de "salvar" é um processo mais matizado do que salvar em um processador de palavras ou em outros aplicativos tradicionais de edição de arquivo. A expressão de software tradicional "salvar" é sinônimo do termo do Git "confirmar". Uma confirmação é o equivalente do Git de "salvar". O salvar tradicional deve ser pensado como uma operação do sistema de arquivos usada para substituir o arquivo existente ou gravar um novo arquivo. Como alternativa, a confirmação do Git é uma operação que age na coleta de arquivos e diretórios.

Salvar alterações no Git e no SVN também são processos diferentes. Commits ou "verificações" SVN são operações que fazem envio por push remoto para um servidor centralizado. Então um commit SVN precisa de acesso à Internet para "salvar" todas as alterações do projeto. Os commits do Git podem ser capturados e construídos no local e, em seguida, enviadas por push para um servidor remoto conforme necessário usando o comando git push -u origin master. A diferença entre os dois métodos é uma diferença fundamental entre designs de arquitetura. O Git é um modelo de aplicativo distribuído enquanto o SVN é um modelo centralizado. Os aplicativos distribuídos são, em geral, mais robustos, pois não têm um único ponto de falha como um servidor centralizado.

git add

Como funciona

Tutorial do Git: captura instantânea de git add

O comando git add não deve ser confundido com svn add, que adiciona um arquivo ao repositório. O git add funciona no nível mais abstrato de alterações. Ou seja: o git add precisa ser chamado toda vez que você altera um arquivo, enquanto o svn add precisa ser chamado apenas uma vez para cada arquivo. Pode parecer redundante, mas esse fluxo de trabalho faz com que seja muito mais fácil manter um projeto organizado.

A área de staging

Em vez de confirmar todas as alterações feitas desde a última confirmação, a montagem permite agrupar as alterações relacionadas em capturas instantâneas altamente focadas antes de realmente confirmá-las no histórico do projeto. Ou seja, você pode fazer todo tipo de edição em arquivos não relacionados e, em seguida, voltar e dividi-los em confirmações lógicas adicionando alterações relacionadas à montagem e confirmá-las separadamente. Como em qualquer sistema de controle de revisão, é importante criar confirmações atômicas para que seja fácil controlar os bugs e reverter as alterações com impacto mínimo para o restante do projeto.

Opções comuns

git add <file>

Preparar todas as alterações em <file> para o próximo commit.

git add <directory>

Preparar todas as alterações em <directory> para o próximo commit.

git add -p

Comece uma sessão de staging interativa que deixe você escolher partes de um arquivo para adicionar ao próximo commit. Ela vai mostrar a você um trecho das alterações e solicitar um comando. Use y para montar o trecho, n para ignorar o trecho, s para fazer a divisão em trechos menores, e para fazer a edição manual do trecho e q para sair.

Exemplos

Quando você está começando um novo projeto, git add tem a mesma função que svn import. Para criar um commit inicial do diretório atual, use os dois comandos a seguir:

git add .
git commit

Depois que você deixa seu projeto ativo e em funcionamento, novos arquivos podem ser adicionados passando o caminho para git add:

git add hello.py
git commit

Os comandos acima também podem ser usados para registrar alterações nos arquivos existentes. Novamente, o Git não diferencia entre alterações de staging em novos arquivos e alterações em arquivos que já foram adicionados ao repositório.

Resumo

Pronto(a) para aprender Git?

Tente este tutorial interativo.

Comece agora mesmo