Material produzido após a conclusão do curso da Coleção de Habilidades Essenciais para todo desenvolvedor de software, disponível na plataforma da OneBitCode.
- O que é Git? Git é um sistema de controle de versão distribuído que facilita o gerenciamento de mudanças no código-fonte ao longo do tempo. Ele permite revisar o histórico completo do projeto, reverter para qualquer versão anterior, e colaborar com outros desenvolvedores de forma eficiente.
- O que é GitHub? GitHub é uma plataforma de hospedagem que utiliza o Git para controle de versão. Além de armazenar projetos, facilita a visualização de alterações e a colaboração entre usuários. GitHub é essencial para desenvolvedores que desejam expor seus projetos e colaborar com outros globalmente.
Verifique se o Git está instalado usando git --version
. Se não estiver, você pode baixá-lo e instalar a partir do site oficial do Git.
Configure seu nome de usuário e e-mail que serão usados em seus commits:
git config --global user.name "Seu Nome"
git config --global user.email "[email protected]"
Verifique as configurações com git config --list
para confirmar as alterações.
Crie uma nova pasta e inicialize um repositório Git:
mkdir meu_projeto
cd meu_projeto
git init
Isso cria uma pasta .git
que contém todos os dados necessários do repositório.
Para copiar um repositório existente, use: git clone [URL_do_Repositório]
.
Isso cria uma cópia local do repositório, incluindo todo o histórico de commits.
Após modificar arquivos, adicione-os à área de preparação (staging area): git add [nome_do_arquivo]
.
Faça o commit das alterações: git commit -m "Descrição do que foi alterado"
.
Os commits salvam um snapshot do estado atual dos arquivos preparados.
Para baixar atualizações do repositório remoto e mesclar com seu trabalho local, use: git pull origin [nome_da_branch]
.
O git pull
é essencial para manter seu repositório local sincronizado com o remoto.
Crie uma nova branch com: git branch [nome_da_branch]
.
Mude para a nova branch com: git checkout [nome_da_branch]
.
Branches permitem desenvolver em paralelo sem afetar a linha principal (main/master).
Para mesclar mudanças de uma branch para outra: git merge [nome_da_branch]
.
Merges podem resultar em conflitos que precisam ser manualmente resolvidos antes de completar o merge.
Forks criam uma cópia pessoal do projeto no seu GitHub, permitindo que você proponha mudanças via Pull Requests.
Após fazer mudanças em um fork, você pode enviar um Pull Request para o repositório original, sugerindo suas alterações.
Durante um git pull
ou um merge, conflitos podem surgir quando o mesmo arquivo é alterado por duas pessoas diferentes. O Git pausará o processo e pedirá que você resolva esses conflitos manualmente. Usar git status
pode ajudar a identificar e resolver esses conflitos.
O git rebase
é uma alternativa ao merge que reescreve o histórico de commits, realinhando os commits de uma branch sobre outra. Isso pode ajudar a manter um histórico de commits mais limpo e linear.
Use git tag
para marcar releases específicos ou pontos importantes no histórico do projeto. Tags ajudam a identificar versões estáveis ou pontos de release.