
Git e Github passo a passo + problemas comuns e resolução.
Git é um sistema de controle de versão distribuído que permite rastrear alterações em arquivos e coordenar o trabalho em equipe. GitHub é uma plataforma online que hospeda repositórios Git, facilitando a colaboração e o compartilhamento de código.
1. Configuração inicial:
- Instale o Git:
- Acesse o site oficial do Git, disponível em https://git-scm.com/, e realize o download da versão apropriada para o seu sistema operacional.
- Siga as instruções de instalação fornecidas.
- Configure o Git:
- Abra o terminal, ou Git Bash no sistema Windows.
- Configure seu nome de usuário e endereço de e-mail por meio dos seguintes comandos:
git config --global user.name "Seu Nome"git config --global user.email "seuemail@exemplo.com"
- Crie uma conta no GitHub:
- Acesse o site do GitHub, disponível em https://github.com/, e crie uma conta.
2. Criação do projeto local:
- Crie um diretório para o seu projeto:
- No terminal, navegue até o local desejado e crie um novo diretório para o projeto, utilizando os seguintes comandos:
mkdir nome-do-projetocd nome-do-projeto
- No terminal, navegue até o local desejado e crie um novo diretório para o projeto, utilizando os seguintes comandos:
- Inicialize um repositório Git:
git init- Este comando tem a função de inicializar um novo repositório Git no diretório do projeto.
- Crie um arquivo inicial:
touch README.md(ou crie qualquer outro arquivo)- Este comando cria um arquivo README.md vazio, o qual pode ser editado para incluir informações relevantes sobre o projeto.
- Adicione o arquivo à área de preparação (staging area):
git add README.mdougit add .- Este comando designa o arquivo para a área de preparação, indicando que suas alterações devem ser incluídas no próximo commit. O comando
git add .adiciona todos os arquivos do diretório atual.
- Faça o primeiro commit:
git commit -m "Primeiro commit: Adiciona arquivo README.md"- Este comando cria um novo commit, registrando as alterações presentes na área de preparação. A opção “-m” permite a inclusão de uma mensagem que descreve as alterações realizadas no commit.
3. Criação do repositório remoto no GitHub:
- Acesse o GitHub e crie um novo repositório:
- Clique no botão “New”.
- Preencha o nome do repositório e inclua uma descrição, se desejado.
- Selecione a visibilidade do repositório, que pode ser público ou privado.
- Certifique-se de *não* marcar a opção “Initialize this repository with a README”, uma vez que um arquivo README foi criado localmente.
- Clique em “Create repository”.
- Conecte o repositório local ao repositório remoto:
- Copie a URL do repositório remoto, a qual está disponível na página do repositório no GitHub.
- No terminal, estabeleça a conexão com o repositório remoto por meio do seguinte comando:
git remote add origin URL_DO_REPOSITORIO
- Envie o código para o GitHub (push):
git push -u origin master- Este comando envia o código do repositório local para o repositório remoto no GitHub. A opção “-u origin master” define o repositório remoto e a branch principal como padrão.
4. Modificação do arquivo e novo commit:
- Edite o arquivo:
- Abra o arquivo README.md, ou qualquer outro arquivo desejado, e realize as modificações necessárias.
- Adicione as alterações à área de preparação:
git add README.mdougit add .
- Faça o novo commit:
git commit -m "Atualiza README.md com novas informações"
- Envie as alterações para o GitHub:
git push origin master
Tópico Avançado: Problemas Comuns e Soluções
- Problema: Erro ao adicionar repositório remoto (
git remote add origin ...)- Solução: Verifique se a URL do repositório remoto foi copiada corretamente do GitHub. Certifique-se de que você tem permissão para acessar o repositório.
- Problema: Erro ao enviar código para o GitHub (
git push ...)- Solução: Verifique se você configurou corretamente seu nome de usuário e e-mail no Git. Se estiver usando autenticação HTTPS, verifique se você inseriu suas credenciais corretamente. Se estiver usando autenticação SSH, verifique se você configurou suas chaves SSH corretamente no GitHub.
- Problema: Arquivos modificados não aparecem no Git
- Solução: Certifique-se de que você está no diretório correto do projeto. Use o comando
git statuspara verificar quais arquivos foram modificados e se eles estão na área de preparação. Usegit add nome_do_arquivoougit add .para adicionar as alterações à área de preparação.
- Solução: Certifique-se de que você está no diretório correto do projeto. Use o comando
- Problema: Desfazer um commit
- Solução:
- Para desfazer o último commit e manter as alterações:
git reset --soft HEAD~1 - Para desfazer o último commit e descartar as alterações:
git reset --hard HEAD~1 - Atenção: O comando
git reset --harddescarta as alterações permanentemente. Use com cautela.
- Para desfazer o último commit e manter as alterações:
- Solução:
- Problema: Resolver conflitos de merge
- Solução:
- Use
git statuspara identificar os arquivos com conflitos. - Abra os arquivos com conflitos em um editor de texto e procure pelos marcadores de conflito (
<<<<<<<,=======,>>>>>>>). - Edite o arquivo para remover os marcadores de conflito e escolher as alterações que você deseja manter.
- Após resolver os conflitos, use
git addpara adicionar os arquivos modificados à área de preparação egit commitpara finalizar o merge.
- Use
- Solução:
- Problema: Voltar a um commit anterior
- Solução:
- Use o comando
git logpara encontrar o hash do commit ao qual você deseja retornar. - Use o comando
git checkout <hash_do_commit>para voltar a esse commit. - Para criar uma nova branch a partir desse commit:
git checkout -b <nome_da_branch> <hash_do_commit>
- Use o comando
- Solução:
- Problema: Remover um arquivo do repositório
- Solução:
- Para remover o arquivo apenas da área de preparação:
git rm --cached <nome_do_arquivo> - Para remover o arquivo do repositório e do diretório de trabalho:
git rm <nome_do_arquivo> - Após remover o arquivo, use
git commitpara registrar a remoção.
- Para remover o arquivo apenas da área de preparação:
- Solução:
- Problema: Renomear um arquivo
- Solução:
- Use o comando
git mv <nome_antigo> <nome_novo> - Após renomear o arquivo, use
git commitpara registrar a alteração.
- Use o comando
- Solução: