o-o-o (branch-1)
/ \
o-o-o-o-o-o-o-o-o-o-o (main)
\ /
o-o-o-o-o (branch-2)
A ideia desse curso é auxiliar o aprendizado de git seguindo as seguintes etapas:
- motivação : O por que de aprender algo
- teoria : O que é isso
- prática : Como usar e exercícios de fixação
O curso tem como intenção exigir o mínimo de outras tecnologias que não o próprio git, dessa forma são evitadas qualquer linguagem de programação específica e são utilizados arquivos de texto .md para teoria e práticas.
Alguns comandos ou argumentos que facilitam o trabalho do dia a dia serão intencionalmente ignorados com a intenção de apresentar boas práticas ao utilizar a ferramenta git.
O curso está organizado nas seguintes partes e seções:
Durante essa parte um palestrante fala sobre cada uma das seguintes seções e ao mesmo tempo mostra em um terminal sobre o que está falando. É aconselhado que quem está assistindo o curso acompanhe conforme conseguir o conteúdo apresentado.
Durante essa parte o palestrante e possivelmente outros instrutores irão auxiliar na execução das tarefas listadas.
-
- O que é o stage?
- O que é uma modificação?
- Arquivos
- Chunks
- Comandos
git add
git reset
git diff
-
- O que é um commit?
- Comandos
git commit
git log
- Boas práticas ao criar um commit
-
- O que é um ref?
- O que é um branch?
- O que é uma tag?
- O que é o HEAD?
- Comandos
git branch
git tag
git checkout
-
- O que é um merge?
- O que é um rebase?
- Comandos
git merge
git rebase
- O que é um conflito?
- Resolvendo conflitos
-
- O que é o local?
- O que é um remote?
- Comandos:
git clone
git remote
git fetch
git push
git pull
-
- O que é o reflog?
git reflog
- O que é o stash?
git stash
git stash pop
- O que é cherry-pick?
git cherry-pick
- O que é bisect?
git bisect
- O que é o reflog?
-
- gitflow
- Baseado em merge
- Baseado em rebase
TODO: escrever exercícios e preparar o repositório para isso, com branchs a serem mergiados (com e sem conflito), tags, e etc