Repositório criado para aprender e praticar os principais comandos do Git e GitHub de forma colaborativa.
Git é um sistema de controle de versão distribuído que permite rastrear mudanças no código-fonte ao longo do tempo. Com ele, você pode trabalhar em equipe sem perder nenhuma alteração.
GitHub é uma plataforma online que hospeda repositórios Git. Além de armazenar seu código na nuvem, o GitHub facilita a colaboração entre desenvolvedores através de funcionalidades como Pull Requests, Issues e Code Review.
| Comando | Descrição |
|---|---|
git clone <url> |
Clona um repositório remoto |
git status |
Mostra o estado atual das alterações |
git add . |
Adiciona todas as alterações para commit |
git commit -m "msg" |
Cria um commit com uma mensagem |
git push |
Envia os commits para o repositório remoto |
git pull |
Atualiza o repositório local com as mudanças remotas |
git branch |
Lista as branches existentes |
git checkout -b <nome> |
Cria e muda para uma nova branch |
git log |
Mostra o histórico de commits |
git revert <hash> |
Reverte um commit específico |
Um Pull Request (PR) é um pedido para que suas alterações sejam revisadas e incorporadas ao código principal. Em vez de enviar mudanças direto para a main, você trabalha em uma branch separada e abre um PR no GitHub. Assim, outros membros da equipe podem revisar, comentar e aprovar antes do código ser aceito.
Merge é o processo de juntar duas branches. Quando seu Pull Request é aprovado, o instrutor (ou você) faz o merge, as suas alterações passam a fazer parte da branch main. Se duas pessoas editaram o mesmo trecho de código, o Git avisa que existe um merge conflict, e você precisa decidir manualmente qual versão manter (ou combinar as duas).
.
Complete o nível antes de avançar para o próximo.
- Clone este repositório:
git clone https://github.com/TrilhaUFPB/learning-git.git cd learning-git - Crie uma branch com seu nome:
git checkout -b seu-nome-sobrenome
-
Dentro da pasta
profiles/, crie um arquivo com seu nome:seu-nome.md -
Preencha com suas informações pessoais seguindo o modelo:
# Seu Nome - **Curso:** Ciência da Computação - **Período:** 1º - **GitHub:** @seu-usuario - **Um fato curioso sobre você:** Eu já assisti 300 episódios de anime em um mês - **Tecnologia favorita:** Python - **Objetivo na área de tech:** Trabalhar com inteligência artificial
-
Faça o commit e push:
git add . git commit -m "adiciona perfil de Seu Nome" git push origin seu-nome-sobrenome
- Vá até o repositório no GitHub
- Clique em "Compare & pull request"
- Escreva uma descrição breve e abra o PR
- Aguarde a revisão!
- Vá até a aba Pull Requests no GitHub
- Escolha o PR de um colega
- Revise o código e deixe um comentário construtivo
- Aprove ou sugira mudanças
Nesta atividade, seu grupo vai propositalmente criar merge conflicts para aprender a resolvê-los.
Decidam quem será a pessoa A, B, C (e D, caso sejam o grupo 3)
Passo a passo:
- Escolham o arquivo do grupo (com o numero da sua equipe no hackathon) dentro de
desafio-merge/(ex:grupo-1.md,grupo-2.md, etc.) - Todos do grupo criem uma branch a partir da
main:git checkout main git pull git checkout -b merge-seuNome
- Todos editem o mesmo trecho do arquivo do grupo (onde diz
EDITE AQUI), cada um colocando uma resposta diferente - Pessoa A faz commit e push primeiro:
Abre um Pull Request. O instrutor faz merge.
git add . git commit -m "resposta de Pessoa A" git push origin merge-seuNome
- Pessoa B tenta fazer push e recebe um erro! Precisa resolver o conflito:
O Git vai mostrar algo como:
git pull origin main
<<<<<<< HEAD Resposta da Pessoa B ======= Resposta da Pessoa A >>>>>>> main - Pessoa B resolve o conflito mantendo ambas as respostas, faz commit e push. O instrutor faz merge.
- Pessoa C repete o processo — agora precisa resolver o conflito com as respostas de A e B já presentes!
- Pessoa D (se houver) repete novamente — resolvendo com A, B e C.
Cada pessoa faz commit da resolução e abre seu Pull Request:
git add .
git commit -m "resolve conflito - adiciona resposta de Seu Nome"
git push origin merge-seuNomeDica: Conflitos não são erros! Eles acontecem o tempo todo em equipes e são normais. O importante é saber resolvê-los com calma. Cada rodada o conflito fica um pouco maior, isso é proposital!
Adicione uma frase, dica de tech ou mensagem motivacional ao arquivo WALL.md. Pode ser qualquer coisa:
- Uma dica de programação que você gostaria de ter aprendido antes
- Seu recurso de estudo favorito
- Uma frase que te inspira
learning-git/
├── README.md
├── WALL.md
├── profiles/
│ ├── exemplo.md
│ └── seu-nome.md
└── desafio-merge/
├── grupo-1.md (trio)
├── grupo-2.md (trio)
├── grupo-3.md (quarteto)
└── grupo-4.md (trio)
Bora praticar!