/curso-git

Um repositório estruturado para ser clonado e funcionar como um tutor de git, do básico ao avançado

Git: Aprendendo na prática

Meetup

          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.

Organização do curso

O curso está organizado nas seguintes partes e seções:

Parte 1: Aula Expositiva

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.

Parte 2: Prática

Durante essa parte o palestrante e possivelmente outros instrutores irão auxiliar na execução das tarefas listadas.

Indice

1. Aula

  1. O que é o git e por que eu deveria me importar?

    • As duas ferramentas mais impotantes
    • Sistema de controle de versões (vcs)
    • O dia a dia
    • Comandos
      • git help
  2. Visão geral do git

  3. Configurando o git

    • Configurações Globais
    • Configurações Locais
  4. Diretório de trabalho

  5. O repositório git

    • Iniciando um repositório
    • Checando o resporitório
    • O diretório git
    • Comandos
      • git init
      • git status
  6. Preparando o stage

    • O que é o stage?
    • O que é uma modificação?
      • Arquivos
      • Chunks
    • Comandos
      • git add
      • git reset
      • git diff
  7. A base de tudo, o commit

    • O que é um commit?
    • Comandos
      • git commit
      • git log
    • Boas práticas ao criar um commit
  8. Dividir para conquistar!

    • O que é um ref?
    • O que é um branch?
    • O que é uma tag?
    • O que é o HEAD?
    • Comandos
      • git branch
      • git tag
      • git checkout
  9. Juntando o trabalho

    • O que é um merge?
    • O que é um rebase?
    • Comandos
      • git merge
      • git rebase
    • O que é um conflito?
    • Resolvendo conflitos
  10. Local e remotes

    • O que é o local?
    • O que é um remote?
    • Comandos:
      • git clone
      • git remote
      • git fetch
      • git push
      • git pull
  11. Saiba mais

    • Padrões de commit
      • Convertional commits
    • Nomeando versões
      • Semantic versioning
    • Quem foi que fez isso?!?
      • git blame
    • 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 são hooks?
  12. Fluxos de trabalho para git

    • gitflow
    • Baseado em merge
    • Baseado em rebase

2. Prática

  1. Faça você mesmo

Em cada um das seções da aula tem uma pequena parte detacada com "Faça você mesmo:", siga essas etapas.

  1. Exercícios