Uma introdução a


Git e Github

@gpedro_

Eu sou...

  • Desenvolvedor FullStack na RCF Inovações
  • Organizador e Idealizador do FrontInCuiabá
  • Um entusiasta da web

Vocês podem me achar...

Meu Blog

about.me/gpedro

Meu Twitter

@gpedro_

Meu Github

/gpedro

Agenda

  • Controle de Versão?
  • Git
  • Github
  • Por onde começar?
  • A importância para o Mercado
  • Botando a mão na massa

Controle de Versão?

Lá no Ensino Fundamental...

trabalho-biologia.pptx

trabalho-biologia-2.pptx

trabalho-biologia-21.04.pptx

trabalho-biologia-final.pptx

trabalho-biologia-final-cópia.pptx

Ao aprender a programar...

alert('Hello, World!')

hello-world.html

alert('Eu odeio química!');

hello-world-2.html

document.write(5 + 6);

hello-world-3.html

console.log(5 + 6);

hello-world-4.html

...

A Necessidade de Versionar

DESENVOLVIMENTO

TESTES

PRODUÇÃO

Histórico

Colaboração

Variações no Projeto

  • Acompanhar e fornecer controle de alterações no código fonte
  • Manter diferentes versões do mesmo código
  • Software desenvolvido de forma colaborativa :)

I want you to Version Control your code!

É cilada, Bino!

Controle de Versão!

Sistemas de Controle de Versionamento Centalizados


Sistemas de Controle de Versionamento Distribuídos

Centralizados

  • Único repositório central​
  • Cópias de trabalho são mantidas pelos desenvolvedores
  • Estrutura Commit/Update

Centralizados

Sistemas de Controle de Versionamento Centalizados

Centralizados

CVS

CVS

Subversion

Subversion

Distribuídos

  • Cada desenvolvedor mantem um repositório
  • Estrutura Pull/push/commit
  • Comunicação mínima através da rede, commits mais rápidos :)

Distribuídos

Sistemas de Controle de Versionamento Distribuídos

Distribuídos

Mercurial

Mercurial

Bazaar

Bazaar

Darcs

Darcs

Git

Filosofia

Tratar os dados como snapshots ;)

Fluxo

  • Working Directory
  • HEAD
  • Index

Alguns conceitos...

  • Branches
  • Merge
  • Clones
  • Pull
  • Push
  • Tags
  • Logs
  • Diffs
  • ...
Github

Coding goes social!

  • Forking
  • Pull Requests
  • Issues e Issue Comments
  • Seguidores
  • Organizações
  • Times
  • ...
  • Octocat!
Oppan Github Style

O que versionar?

  • Trabalhos da Faculdade
  • Exemplos/Exercícios feitos
  • Arquivos/Projetos pessoais
  • Seu Portfólio :)

Mercado de Trabalho

A importância para o Mercado
A importância para o Mercado
A importância para o Mercado
A importância para o Mercado
A importância para o Mercado
A importância para o Mercado
A importância para o Mercado

Só empresas pequenas?

Nop ;)

A importância para o Mercado
A importância para o Mercado

Só empresas privadas?

Nop ;)

Github Government

https://government.github.com/

No Brasil...

  • Departamento de Tecnologia da Informação do Banco Central do Brasil
  • Portal de Software Livre do Governo
  • Portal Brasileiro de Dados Abertos
  • Empresa de Tecnologia e Informações da Previdência Social (DATAPREV)
  • 20+

Vamos começar?

Botando a mão na massa

Ficar Monstro dos Open Source

Perguntas?

É contigo!

< obrigado >

@mabrasil