Skip to content

alessondejesus/Git_GitHub_Training

 
 

Repository files navigation

GIT   | Git e Github |    GitHub

Guia Prático para iniciantes

Este Guia foi criado para auxilia-los no aprendizado sobre o Git e GitHub.

Sempre há espaço para melhorar! Envie-nos comentários e sugestões!

Table of Contents

Vídeos de Referência

Developer| Developer

Antes de começar

Descrição Link
Link do GIT:         Git
Link da Biblioteca do Git para saber mais sobre esta ferramenta:         Book
Link do GIT para download:         Downloads
Link para um outro curso:         Katacoda

Git

Definição Icon made by Freepik from www.flaticon.com Software livre (Open Source) para controle de arquivos num projeto em geral, ou em outras palavras, controlador de versionamento distribuído, aqui chamados de versionadores de código.

Função Icon made by Freepik from www.flaticon.com Organizar, distribuir e gerenciar as várias versões de um software. Ou seja, é um repositório na nuvem.

Utilização Icon made by Freepik from www.flaticon.comPara utilizar, precisa-se baixar por meio da página:

Download Git

Conflitos Icon made by Freepik from www.flaticon.com Eventualmente podem existir conflitos de códigos, que nada mais são áreas de códigos onde um ou mais programadores alterara e que agora precisam ser revisados. Os conflitos que o Git não consegue resolver, ele marca com um bloco visual.

Github

Definição ⇒ Servidor na nuvem que armazena seus códigos e possui uma interface amigável (Em outras palavras, é um Repositório de Gits).

Além de GitHub temos: GitLab, BitBucket.

Seu cartão de visita é o GitHub, por isso é importante ter um repositório de código bem atualizado e organizado.

Como criar seu portfolio de projetos?

Basicamente a estratégia é documentar no arquivo README.md, o qual é o arquivo padrão exibido ao acessar seu repositório e o código do projeto, e que todas as pessoas poderão lê-lo. Lembrando que neste arquivo você explica o seu projeto de forma não muito técnico, focado no visual e na compreensão do que se trata seu código.

Developer

Exemplo de README.md muito bem criado. Autoria de: RocketSeat

Primeiro, antes de mais nada, devemos iniciar o Git usando o comando:

Git init

Developer

Depois, "tocamos" o arquivo para definir a data e hora (tempo) que aquele arquivo foi modificado:

Git touch

Developer

Caso o terminal esteja muito poluído, basta dar o comando de limpar:

Clear

Como criar pontos na história da produção do seu projeto?

Por exemplo, para registrar quando você iniciou essa landing page basta dar o comando:

Git add landingpage.html

Developer

Após adicionar os pontos na história do seu projeto, há necessidade de juntar as alterações para que seja enviado ao repositório. Ou seja, ele vai criar um ponto na história do projeto.

Git commit -m "Added landing page."

Developer

Como verificar mudanças feitas no seu projeto?

Para ver os pontos da história deste projeto (os Commits)

Git log

Developer

Git status

Mostra o estado do meu projeto.

Developer

Se queremos ver o que foi feito em um momento da história, precisamos, primeiro, identificar o momento e depois visualizar ele. A identificação é uma sequencia de caracteres ao lado de commit (sublinhado em vermelho na imagem abaixo) que aparece com o comando git log:

Developer

Depois, aplicamos o comando:

Git show [insira aqui o código numerico]

Developer

Se eu quiser ver o ultimo ponto da história, basta colocar o comando:

>*Git show*

Como começar uma nova funcionalidade no seu projeto, sem estragar o que já foi feito?

São a possibildiade de criar "universos" paralelos de seu projeto. Por padrão, seu projeto é criado como "master"

Suponhamos que um cliente pediu para você adicionar um carrinho de compras.

Assim, começaremos a construir o código em um branch (um ramo) do projeto para que o original não seja afetado (em caso de algum erro!). Para criar o novo branch, utilize o código abaixo:

Git branch [nome da branch]

Developer

Para mudar para essa branch, usamos o comando:

Git checkout [nome da branch]

Developer

Para confirmar novamente, é válido ir no Git status:

Developer

Para voltar para a master, é só usar o comando Git checkout master.

Para visualizar todos as ramificações criadas, basta digitar:

Git branch

Developer

Seguido os passos acima, foi criado uma pagina html chamada de cart e escrito carrinho em produção. Foi, também, registrado na branch. Veja o log como fica com branch:

Developer

Quer ter certeza se não foi feito alteração no seu ramo principal? Use o comando abaixo e veja os arquivos nele presente (veja que não consta o cart.html):

Git ls -all

OBS: LS ⇒ List, assim, o comando significa: list all

Developer

Como adicionar as novas funcionalidades ao seu projeto em produção?

Fez as alterações na ramificação, gostou, aprovou? Hora de trazer para o projeto principal (master). Para isso, deve-se utilizar o comando:

Git merge [nome da branch]

Developer

Developer

  • Você quer deletar a branch da nova funcionalidade, depois de aplicar em seu projeto.

Migrou a ramificação pro master com sucesso? projeto aprovado? hora de deletar a branch para não haver ruídos:

Git branch -D [nome da branch]

Developer

  • Você quer colocar seu projeto na nuvem (Github).

Primeiro acesse o GitHub e crie sua conta/faça login.

Após isso, clique em "Create Repository" caso ainda não tenha criado:

Developer

Preencha com o nome do repositório e com uma descrição e siga para a próxima tela.

Como já temos um "Readme.md", utilizaremos:

Developer

Para ver seus repositórios remotos, utilize:

Git remote -v

Developer

Para fazer o upload do repositório local para o repositório online, utilize o comando:

Git push

Como é a primeira vez que fazemos o push, temos que criar a branch master:

Git push -u origin master

Developer

Caso seja a primeira vez que esteja fazendo o upload, é possivel que seja solicitado login e senha do GitHub.

Developer

Vejam acima que não há o arquivo README.md. Precisamos adicionar ele ao branch e fazer upload novamente.

Developer

Agora sim, com Readme:

Developer

Como pegar um projeto já iniciado, para trabalhar com em equipe?

Para isso, precisamos pegar o link no GitHub. Encontre o projeto e obtenha o link. No exemplo, usaremos o GitHub da Rocketseat:

Rocketseat/nlw-01-booster

Developer

Após copiar o link, utilize o comando abaixo:

Git clone [link copiado]

Como resolver um conflito entre arquivos?

Normalmente, quando se trabalha com ramificações (Branches) é comum termos conflitos de arquivos para se tratar. Isso significa, por exemplo, que uma modificação num arquivo chamado, digamos, package.json da branch, corre o risco de subscrever uma modificação feita na mesma linha na Master.

Assim devemos arrumar esses conflitos. Veja a sequencia de eventos nas imagens abaixo. Modifiquei o arquivo "Cart.html" na branch Master e na Branch nova chamada conflito. Importante informar que o Git avalia conflitos na mesma linha, assim, no testo a linha 2 é a que possui conflito.

Developer

Developer

Tela onde o VS Code realça o conflito:

Developer

No caso, como há conflitos, o próprio Git nos ajuda com opções de aceitar a mudança presente na ramificação Master, aceitar a da ramificação Conflito, aceitar ambas as alterações, comparar as alterações ou, caso tenha dúvidas, iniciar uma sessão de compartilhamento remoto para que outro programador auxilie com este conflito.

Para fim deste exercício, aceitaremos a mudança presente na Master:

Developer

agora que resolvemos o conflito, há necessidade de atualizar a página e o projeto para que possamos subir no GitHub as atualizações:

Developer

Developer

Como, antes de enviar a resolução do conflito, atualizar o projeto local?

Digamos que alguém (ou você) alterou algo no GitHub (por meio de Git push, por exemplo) e você quer atualizar o projeto local. Primeiro, vamos ver como alterar um arquivo, digamos, o Readme.md no GitHub:

Developer

Após alteração, submeter o commit:

Developer

É importante sempre verificar isso quando trabalhando em equipe para não criar conflitos ou perda de dados, assim, sempre puxe as atualizações do GitHub para somente então subir suas alterações.

Developer

Como voltar um arquivo para um determinado momento da linha do tempo?.

Vamos supor que os ajustes em seu código deram muito errado. Felizmente, se você salvou seguindo as instruções acima, é possível voltar um arquivo para um determinado momento da linha do tempo. Primeiramente identifique a etapa do tempo que deseja restaurar e obtenha o código desta linha de tempo:

Developer

Para restaurar, basta utilizar o comando abaixo:

Git checkout [sequencia numérica] -- [nome do arquivo não esqueça de incluir a extensão!]

Como recuperar algo deletado?

E se um arquivo inteiro foi eliminado? Digamos que tenhamos um arquivo chamado cart.html e esse foi eliminado. Para restaurar, basta usar o código abaixo:

Git checkout -- [nome do arquivo não esqueça de incluir a extensão!]

Developer

Developer

  • Você precisa mudar de diretório.

Para mudar de diretório, utilize o comando:

cd [nome do folder]

OBS: cd ⇒ change directory.

Resumo dos comandos principais do Git

  • git init Icon made by Freepik from www.flaticon.com inicia a linha do tempo;
  • git add Icon made by Freepik from www.flaticon.com adiciona ou atualiza mudanças para irem para a linha do tempo, atualizando os arquivos nos commits;
  • git commit -m "mensagem"  Icon made by Freepik from www.flaticon.com adiciona um ponto na l;inha do tempo
  • git log Icon made by Freepik from www.flaticon.com visualiza os pontos na linha do tempo / commit;
  • git status Icon made by Freepik from www.flaticon.com informa o estado das alterações do nosso projeto;
  • git show Icon made by Freepik from www.flaticon.com apresenta determinado ponto na história;
  • git branch Icon made by Freepik from www.flaticon.com gerenciar novas linhas do tempo;
  • git checkout Icon made by Freepik from www.flaticon.com manipula as linhas do tempo;
  • git merge Icon made by Freepik from www.flaticon.com unir linhas do tempo;
  • git push  Icon made by Freepik from www.flaticon.com envia alterações locais para o repositório remoto (Github);
  • git clone Icon made by Freepik from www.flaticon.com Baixar o projeto a primeira vez na sua máquina, ou seja, clonar um projeto / repositório;
  • git pull Icon made by Freepik from www.flaticon.com puxa/recebe o código atualizado do repositório remoto;

Developers

Estas pessoas contribuiram para o Readme.md ser o mais completo possível!

Lucas Gonçalves Daywison Silva
Owner Supporter
Developer Developer
LinkedIn LinkedIn
GitHub GitHub

About

Training repository focused on Git and GitHub

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 100.0%