GIT E GITHUB
Prof. Matheus Garrido
O que vamos ver nessa aula?
• Introdução
• Como surgiu o Git?
• Git x Github
• Criando o repositório
• Salvando localmente
• Ramificando o trabalho local
• Ramificando o trabalho remotamente
• Pull Request (PR)
• Configurando o github
• Resumo
Introdução
Como escrevemos versões de nossos
trabalhos?
Introdução 📚
• Lembram dos trabalhos de escola?
• Antes do surgimento de plataformas Cloud (como o
Google Drive), tínhamos o costume de fazer assim:
Introdução 📚
• Como fazíamos projetos em
grupo?
• Mandando os arquivos separados
em um e-mail
• Tomando cuidado para não
escrever onde seu colega está
escrevendo
• E, depois de tudo isso, alguém
sozinho pegava o trabalho e
formatava
Introdução 📚
• Por que guardamos versões dos nossos trabalhos?
• Não perder ideias antigas;
• Poder voltar atrás em alguma decisão;
• Acompanhar a evolução que estamos fazendo;
• O git é uma ferramenta que permite fazermos o
gerenciamento de versão de nossos projetos (de
programação ou não).
Introdução 📚
• O git também facilita o trabalho colaborativo
• É muito fácil manter o track (rastreamento) de
arquivos que são alterados por duas pessoas ao
mesmo tempo
Como surgiu o
Git?
Um pouco da história
Como surgiu o Git? 📖
• Este problema de versionamento é algo que já
preocupava a comunidade científica (em especial,
desenvolvedora(e)s) há bastante tempo.
• Um dos primeiros sistemas a surgir foi o bitkeeper.
• Mas o bitkeeper não era bom, e isso ficou evidente
quando um desenvolvedor começou a fazer um dos
projetos open-source mais famosos da história...
Como surgiu o Git? 📖
• Em 1991, Linus Torvalds
começou a elaborar o
sistema operacional Linux.
• A princípio, ele só queria
testar seus conhecimentos de
programação e criar o seu
próprio sistema operacional.
• Segundo Linus, seria "algo Linus Torvalds, o criador do sistema operacional
Linux
simples"
Como surgiu o Git? 📖
• E o Linus enviou essa
mensagem para divulgar
seu projeto:
🐧Estou fazendo um sistema
operacional (livre - apenas
como um hobby, não será
algo grande e profissional
como o GNU) [...]
Linus Torvalds, o criador do sistema operacional
Linux
Como surgiu o Git? 📖
• O resultado é que o Linux se tornou o SO mais usado
por desenvolvedora(e)s no mundo.
• Com o tempo, o projeto foi crescendo e se tornando
cada vez mais importante.
• Por ser um projeto open-
source, qualquer pessoa
Versão 4.1.3 (2017):
poderia contribuir escrevendo
25 milhões de linhas de código
código ou sugerindo 1.700 engenheiros.
funcionalidades e melhorias Fonte: [Link]
Como surgiu o Git? 📖
• O bitkeeper começou a não ser mais o suficiente:
• Ele era bastante lento e passou a ser pago.
• Com isso, Linus e sua equipe decidiram criar o próprio
version control software (VCS - software de controle de
versão).
• Surge daí o "git", o software de controle de versão que
nenhum(a) desenvolvedor imagina viver sem...
Git x Github
Não são a mesma coisa
Git x Github 💻 ☁️
O git é a ferramenta O Github é um
que facilita o serviço cloud que
gerenciamento e permite armazenar
colaboração dos os projetos
projetos
Git x Github 💻 ☁️
• O projeto que está na nossa máquina chamados de
repositório do git local.
• O projeto que está no github, chamados de repositório
do git remoto
Repositório remoto
Repositório local
Acesso de colaboradores
Criando o
repositório
Vamos lá!
Criando o repositório 🏬
• Vamos começar criando uma conta no github.
• Acesse: [Link]
Criando o repositório 🏬
1 - Forneça seu e-mail:
2 - Forneça uma senha seguindo as recomendações de segurança:
Criando o repositório 🏬
3 - Forneça um username (procure algo profissional):
4 – Se o username não estiver disponível, informe outro.
Criando o repositório 🏬
5 – Responda se deseja receber newsletter da plataforma:
Criando o repositório 🏬
6 – Clique em começar verificação de segurança e responda ao quis:
7 – Uma vez respondido corretamente o quis, clique em “criar conta”
Criando o repositório 🏬
8 – Informe o código de verificação que foi enviado para o e-mail cadastrado:
9 – Se você foi redirecionado para tela de customização, você pode optar por
responder as pesquisas ou rolar a página até o final e clicar em “pular
personalização”.
10 – Sua conta no github está criada.
Criando o repositório 🏬
• Vamos agora criar o repositório que será utilizado em
nossa disciplina.
Clique em “criar repositório”
Criando o repositório 🏬
• Vamos agora criar o repositório que será utilizado em
nossa disciplina.
Nomeie seu repositório seguindo o padrão:
nome-sobrenome-web-coding
Por hora, seu repositório deverá ser privado
Escolha a opção de criação do arquivo README
Criando o repositório 🏬
Seu repositório foi criado:
Clique em “criar repositório”
Criando o repositório 🏬
• Você deve configurar as permissões de acesso de
colaboradores e adicionar o e-mail do professor
(profmatheusgarrido@[Link]), para que eu possa
corrigir as atividade:
1 - Clique em
configurações
Criando o repositório 🏬
• Você deve configurar as permissões de acesso de
colaboradores e adicionar o e-mail do professor
(profmatheusgarrido@[Link]), para que eu possa
corrigir as atividade:
2 - Clique em “colaboradores”
3 - Clique em “Adicionar pessoa”
Criando o repositório 🏬
• Você deve configurar as permissões de acesso de
colaboradores e adicionar o e-mail do professor
(profmatheusgarrido@[Link]), para que eu possa
corrigir as atividade:
4 – Clique e selecione o perfil 5 – Clique em adicionar o
usuário no repositório
Criando o repositório 🏬
• Precisamos agora clonar (baixar) o repositório remoto
na sua máquina local (repositório local).
• Mas antes, precisamos fazer download do Git Bash, um
terminal que usaremos para rodar comandos git e
gerenciar as versões de nossas atividades.
• Para baixar, acesse: [Link]
• Selecione o seu sistema operacional e os bits compatíveis
com o seu processador e realize os passos de download,
como qualquer outro programa.
Criando o repositório 🏬
• Precisamos agora clonar (baixar) o repositório remoto
na sua máquina local (repositório local).
1 - Clique no
botão “código”
2 - Clique no
ícone de
copiar a URL
Criando o repositório 🏬
• Precisamos agora clonar (baixar) o repositório remoto
na sua máquina local (repositório local).
3 – Crie um diretório (pasta) para atividade de nossa disciplina:
4 – Entre na pasta criada.
Criando o repositório 🏬
• Precisamos agora clonar (baixar) o repositório remoto
na sua máquina local (repositório local).
5 – Clique com o botão direito do mouse, em seguida selecione “Git Bash Here”:
6 – O terminal bash então é aberto:
Criando o repositório 🏬
• No terminal utilize o seguinte comando:
• git clone link-do-repo
• É o comando que clona as informações do repositório
remoto em uma pasta (repositório) na nossa máquina
1 - Clique no
botão “código”
2 - Clique no
ícone de
copiar a URL
Criando o repositório 🏬
• No terminal utilize o seguinte comando:
• git clone link-do-repo
• Talvez apareça essa caixa de autenticação:
3 – Clique em fazer login pelo
navegador
Criando o repositório 🏬
• No terminal utilize o seguinte comando:
• git clone link-do-repo
• No navegador você encontrará algo semelhante a isso:
4 – Clique em autorizar e siga os passos para
login, fornecendo as informações cadastradas.
5 – Se as informações de login for informadas
corretamente, esta será a mensagem de sucesso:
Pausa – 5 min 💆🏽
• O git surgiu como uma ferramenta que propõe
facilitar o versionamento e a colaboração em
qualquer tipo de projeto
• Github é a plataforma que guarda os repositórios
na nuvem
Salvando
localmente
Salvando seu trabalho no repositório local
Salvando localmente 📍
• git status
• Indica o status do repositório:
• Arquivos/pastas criados;
• Arquivos/pastas modificados;
• Arquivos/pastas removidos.
Salvando localmente 📍
• git add nome-do-arquivo
• Envia os arquivos modificados, removidos e criados para a
Staging Area (que é local);
• git add --all
• Adicionar todos os arquivos.
• git add .
• Adicionar todos os arquivos da pasta onde você se encontra;
Salvando localmente 📍
• git add .
Diretório de
Staging
trabalho Repositório
💻 (pasta) 💻 Area ☁️
Local Remoto
Seu computador No Github
Salvando localmente 📍
• git commit -m "mensagem"
• Demarca uma versão do seu projeto com os
arquivos que estiverem na Staging Area.
• A mensagem deve explicar as modificações,
criações e deleções feitas.
• Exemplo:
• git commit -m “alteração na cor do botão"
Salvando localmente 📍
• git commit -m "mensagem"
• Não esquecer do –m:
• Caso esqueça, você vai entrar em uma parte do
terminal, que, para sair, você deve digitar: esc esc -
q
• Não esquecer das aspas (").
• Exemplos:
• git commit -m “alteração na cor do botão”❎
• git commit “alteração na cor do botão” ❌
• git commit -m alteração na cor do botão ❌
Salvando localmente 📍
• git commit -m "mensagem"
• Repetindo, pois é muito importante!
‼️
Não esquecer do –m
git commit -m “alteração na cor do botão”❎
Salvando localmente 📍
• git log
• Permite verificar o histórico de commits do
projeto.
• git log -- graph
• Mostra de forma mais descritiva e visual o que
está acontecendo.
Ramificando o
trabalho
Dividir para organizar
Ramificando o trabalho 📁
• git branch
• Branch (ramo/galho) é uma ramificação do projeto
principal.
Ramificando o trabalho 📁
• git branch
• Branch (ramo/galho) é uma ramificação do projeto
principal.
Fonte: [Link]
Ramificando o trabalho 📁
• git branch
• Este comando em si mostra a lista de branches que estão no
seu repositório local.
• A branch padrão se chama master e, a princípio, apenas ela
vai existir no seu repositório.
Ramificando o trabalho 📁
• git branch nome-da-branch
• Permite criar uma nova branch, com o nome que você
escolheu.
• git checkout nome-da-branch
• Permite acessar uma branch que já foi criada
(localmente ou remota).
Ramificando o trabalho 📁
• git checkout -b nome-da-branch
• É uma junção dos comandos anteriores:
• Ele cria uma nova branch e já acessa diretamente
➕
git branch nome-da-branch
+
git checkout nome-da-branch
Pausa – 10 min 💆🏽
• git clone
• git status
• git add nome-do-arquivo
• git commit -m "mensagem"
• git log
• git branch
• git branch nome-da-branch
• git checkout nome-da-branch
• git checkout -b nome-da-branch
Ramificando o
trabalho
remotamente
Guardando nosso trabalho
Ramificando o trabalho
remotamente ☁️
• git push origin nome-da-branch
• Envia as suas alterações feitas para a branch
no repositório remoto.
• Ele só envia as alterações que foram
commitadas.
Ramificando o trabalho
remotamente ☁️
• git push origin nome-da-branch
• Atualiza a branch em questão no seu
repositório local com as alterações commitadas
na branch remota.
• Se você já estiver acessando a branch que
deseja atualizar, o comando pode ser reduzido
a git pull.
Pull Request
(PR)
É hora de mesclar suas alterações
Pull Request (PR) 🧪
• Depois de fazer todas as alterações na sua branch, você
deve querer que elas sejam mescladas com a branch
principal (a master).
• A esta mesclagem, damos o nome de merge.
Pull Request (PR) 🧪
• A esta mesclagem, damos o nome de merge.
1 – Clique em “comparar
e criar PR”
Pull Request (PR) 🧪
• A esta mesclagem, damos o nome de merge.
Nesta barra você
encontra as
informações para
onde está
solicitando o merge
2 – Clique em “Criar Pull
Request”
Pull Request (PR) 🧪
3 – Clique em “Merge
Pull Request”
4 – Clique em “Confirm
Merge”
Pull Request (PR) 🧪
• Quando trabalhamos em equipe, os membros dela
avaliam os nossos PRs:
• Pedindo correções no código;
• Sugerindo alterações.
• Após o processo de Code Review (CR), e o seu código
estiver aprovado, ele pode ser mergeado na master.
• Ou seja, em um ambiente de desenvolvimento
profissional, os passos 3 e 4 do slide anterior não
poderiam ser aprovados por quem abre o PR.
• Mas aqui, para fins educacionais, vocês serão
responsáveis pelo processo de ponta a ponta.
Configurando o
github
Autenticando o github no repositório local
Configurando o github ⚙️
• Para evitar que o git peça seu usuário e senha todas as
vezes que for dar o push para o repositório remoto,
podemos fazer uma configuração rodando esses
comandos no terminal:
• git config --global [Link] "INSIRA SEU EMAIL"
• git config --global [Link] "INSIRA SEU USERNAME“
• git config --global password "INSIRA SUA SENHA"
Resumo
Sei que é muita coisa, relaxa! A prática vai
tornar tudo mais fácil. Estamos aqui para
errar e aprender.
Resumo
• Começando o repositório:
• git clone link-do-repo
• Salvando localmente:
• git status
• git add nome-do-arquivo
• git add .
• git commit -m "mensagem"
• git log
Resumo
• Dividindo o Trabalho:
• git branch
• git branch nome-da-branch
• git checkout nome-da-branch
• git checkout -b nome-da-branch
• Salvando no Remoto:
• git push origin nome-da-branch
• git pull origin nome-da-branch
Resumo
• Sempre queremos que as alterações de uma branch
nossa sejam mescladas com as informações que já estão
na master (merge):
• Para isso , devemos criar um PR
• Importante:
• comandos de git não são o mesmo que comandos do terminal!
• Ex: git mkdir
• branch não é pasta!
Resumo
Repositório
git clone (1ª vez)
ou
☁️Remoto
git push
git pull
Diretório de
Staging
trabalho
💻 (pasta) 💻 Area
git add
e
git commit
Dúvidas?
Não esperamos que
vocês se adequem
ao fluxo desde a
primeira hora.
O espaço de aprendizado é um espaço para
tentar, errar e praticar.
Obrigado!
Prof. Matheus Garrido