Introdução ao Git para Iniciantes
Vamos ver como funciona o sistema Git. Este sistema assume a maior parte do trabalho. Ele mesmo faz cópias de segurança, copiando apenas as alterações, e não todos os arquivos. Ele permite alternar facilmente entre versões do projeto, na mesma pasta, desenvolvendo tanto a primeira versão quanto a segunda. Ele permite compartilhar alterações com colegas de forma fácil. Permite desenvolver funcionalidades em paralelo com facilidade, fundindo-as depois com o projeto principal.
Vamos estudar a terminologia do Git. A pasta com as cópias de segurança no Git é chamada de repositório. Tecnicamente, ele armazena não todos os arquivos, mas sim as suas alterações. Com base nas alterações, sempre é possível restaurar os arquivos para qualquer estado. E armazenar apenas as alterações impede que o tamanho do repositório cresça rapidamente.
Quando queremos salvar algo na pasta de backup, em termos do Git, isso é chamado de fazer um commit. No commit, indicamos um comentário sobre o nosso salvamento, para que depois possamos rastrear facilmente o que fizemos e, se necessário, reverter.
Para a situação em que queremos trabalhar em uma funcionalidade específica do projeto em uma cópia separada do projeto, foram criados branches (ramificações). O Git permite alternar entre branches de desenvolvimento, e o Git alterará os arquivos diretamente na pasta do projeto. Ou seja, quando alternamos de uma branch para outra, o Git, diretamente na pasta do projeto, removerá alguns arquivos e mostrará outros.
Depois de trabalhar em uma funcionalidade em uma branch separada, podemos facilmente fundir o código pronto com a nossa branch principal. Ao fazer isso, o Git rastreará os arquivos que pertencem simultaneamente a diferentes branches. E, se as alterações neles entrarem em conflito, durante a fusão o Git nos alertará sobre isso e pedirá para resolvermos o conflito. Claro, o Git não resolverá o conflito de código por nós, apenas o apontará. Poderemos corrigir o código e então realizar a fusão.
O Git permite que o repositório principal do projeto seja armazenado na internet. Para isso, existem serviços especiais, por exemplo, o GitHub. Isso significa que todos os desenvolvedores do projeto enviarão suas alterações para um único local. E este local, por estar na internet, estará sempre disponível. Outros desenvolvedores também poderão obter as alterações facilmente, consultando este repositório.
No entanto, para o desenvolvimento, a internet não é necessária. É possível desenvolver em seu computador em um local sem internet: no avião, no trem, na casa de campo. E então, ao se conectar à internet, enviar suas alterações para o repositório comum.
Nas próximas lições, veremos mais detalhadamente os conceitos principais do sistema Git e aprenderemos a trabalhar com ele. Presume-se que você já saiba trabalhar com a linha de comando. Caso não saiba, primeiro estude o tutorial de linha de comando e só então passe para as lições seguintes.