Universidade de São Paulo

Git Forever

Agenda

  • Linha de comando (apenas!)
  • Git essencial:
    • Configuração
    • Conceitos (Big Words)
    • Branching - Onde vivem? Como se alimentam?
    • Remotos
    • Desfazendo coisas
  • Git versus GitHub
  • GitHub Pages

Afinal, o que é um VCS?

SCV - VCS - SCM

"software que tem a finalidade de gerenciar diferentes versões no desenvolvimento de um documento qualquer."

Wikipédia

Quem nunca?

E esse tal de guiti?i

O Git é um VCS (Version Control Software), distribuído, criado por Linus Torvalds em 2005 para auxiliar no desenvolvimento do kernel do Linux.

Um pouco de história...

Diferenciais do Git

  • Rápido
  • Distribuído (múltiplas cópias)
  • Offline
  • Seguro (múltiplos backups)
  • Enxuto (modificação por conteúdo)
  • Íntegro (Sistema de Hash)
  • Curva de aprendizagem alta

Abecedário - Pet Project



Como o git trabalha?

Como o git trabalha?

índice

Conhece isso?

Como ele sabe que mudou?

Estudos Avançados no Preparo de Poções - Severo Snape

o git utiliza o conceito de grafo


Grafo é um conjunto de objetos que se relacionam entre si


O principal objeto do git é o commit

Grafo de commits

Grafo de commits

The Stage

The Stage

Ponteiros

Ponteiros - Definição


Em programação, ponteiros são variáveis que armazenam endereços de memória

Branching

Git Branching

Branching / Ponteiros

Nomes especiais, mas nem tanto...

branch -> Aponta para ALGUM commit 
HEAD -> Aponta para o branch atual
master -> branch de trabalho criado automaticamente

Mantenha as convenções!!

Merging...

Como integrar mudanças?

Branches são como containers

Branching para integrar


Remotos

Git != GitHub

Serious code cat

Push it!

  • Crie uma conta no GitHub
  • Crie um repositório
  • Publique seu código
  • Adicione os amigos

Trabalhando em equipe