InspirAda do Zero ao Deploy

 

Lidiane Monteiro
11 de Abril 2015

 

Controle de Versão

 

Lidiane Monteiro
11 de Abril 2015

 

Emoção

 

 

outras coisas

 

+

+

Lidiane Monteiro

Estagiária de desenvolvimento web

Fundadora do Blog

co-fundadora

Caloura de novo na Gloriosa

Licenciatura em Computação

Pythonista

Blog Voz em Rede

Vamos começar essa bagaça!

O que é controle de versão para você?

Como você faz para guardar e controlar as versões dos seus arquivos?

Forma mais comum:

Forma mais comum:

Inclusive em equipes

e empresas de

desenvolvimento

de software!

Forma mais

comum:

Tipos de controle de versão

Centralizado

Tipos de controle de versão

Distribuído

O que veremos!

Para começar...

O que é?

O que é?

Sistema de controle de versão, um software que mantém registrado as alterações feitas em arquivos ao longo do tempo. 

O que é?

É um sistema de controle de versão distribuído, o que significa que todos que estiverem trabalhando em um projeto no Git terão uma cópia de todo o histórico do projeto, e não apenas do estado atual dos arquivos.

História 

  •  1991-2002: Mudanças no Kernel do Linux eram repassadas como patches e arquivos compactados

 

  • 2002 -  O projeto do kernel do Linux começou a usar um sistema DVCS proprietário chamado BitKeeper.

História 

  •  2005: Parceria entre comunidade de desenvolvedores do Kernel e a empresa BitKeeper se desfaz.

 

 

E agora? 

E agora? 

Não basta criar o Linux, vou criar o Git!

E agora? 

Linus Torvalds para a BitKeeper (suposição) 

História - Necessidades

  • Velocidade
  • Design simples
  • Suporte robusto a desenvolvimento não linear (milhares de branches paralelos)
  • Totalmente distribuído
  • Capaz de lidar eficientemente com grandes projetos como o kernel do Linux (velocidade e volume de dados)

Por que usar o Git?

Capacidade de desfazer alterações

Histórico completo de todas as alterações

Documentação dos motivos pelos quais as alterações foram feitas

Por que usar o Git?

Confiança para alterar qualquer trabalho

Várias linhas de história para experimentar diferentes alterações

Capacidade de resolver conflitos

O que é?

Local para armazenar seus repositórios Git

e muito mais! õ/

Por que usar Github?

Documentar requisitos e bugs

Colaborar 

Revisar um trabalho em progresso

Criar Wiki

Como funciona?

Quem usa?

+

Fonte: Github.com (Agosto de 2013) / Neurônio Digital

Fonte: Github.com (Agosto de 2013) / Neurônio Digital

Fonte: Github.com (Agosto de 2013) / Neurônio Digital

+

Conceitos

Fundamentais:

+

Preparem-se!

Chegou a hora de praticar!

Hoje teremos uma 

introdução ao Git

vamos usar *alguns* comandos

1 - Vamos Instalar o Git!

$ apt-get install git
$ yum install git-core

Debian/Ubuntu:

Fedora

Instalando o Git!

Instalando o Git!

Download: http://sourceforge.net/projects/git-osx-installer/

Via instalador gráfico

$ sudo port install git-core +svn +doc +bash_completion +gitweb

Via MacPorts 

Instalando o Git!

Instalando o Git!

  Download: http://git-scm.com/download/win

Com as  informações de usuário para todos os repositórios locais

2  - Configurar a ferramenta!

Configurando a ferramenta!

$ git config --global user.name "[nome]"
  • Configurando nome que ficará ligado as transações de commit
  • Configurando email que que ficará ligado transações de commit
$ git config --global color.ui auto
$ git config --global user.email "[endereco-de-email]"

Como iniciar um novo repositório ou obter de uma URL existente

3  - Criar repositório!

Criando repositório!

$ git init [nome-do-projeto]
  • Criando um repositório local com um nome específico
  • Baixando um projeto e seu histórico de versão inteiro
$ git clone [url]

Como Revisar edições e criar transação de commit

4  - Fazer mudanças!

Fazendo mudanças:

$ git status
  • Listando todos os arquivos novos ou modificados para serem commitados
  • Fazendo o snapshot de um arquivo na preparação para versionamento
$ git add [arquivo]

Fazendo mudanças:

$ git reset [arquivo]
  • Deselecionando o arquivo, mas preservando seu conteúdo
  • Grava o snapshot permanentemente do arquivo no histórico de versão
$ git commit -m "[mensagem descritiva]"

Como apagar enganos e criar histórico substituto

5  - Desfazer mudanças!

Desfazendo mudanças:

$ git reset [commit]
  • Desfazendo todos os commits depois de `[commit]`, preservando mudanças locais
  • Descartando todo histórico e mudanças para o commit especificado
$ git reset --hard [commit]

Como enviar e incorporar mudanças

6  - Sincronizar mudanças!

Sincronizando mudanças:

$ git push [alias] [branch]
  • Envia todos os commits do branch local para o GitHub
  • Baixando histórico e incorporando as mudanças
$ git pull

Github Pages

Github Pages

O que é?

Páginas da web para os usuários, organizações e repositórios, que são livremente hospedados no Github. 

Github Pages

Domínio

Podem ser github.io ou um nome de domínio personalizado de sua própria escolha. 

 

Domínios personalizados precisam ser registrados em departamentos que regulam e fazem manutenção de domínios.

 

ex.: Registo.br regulamenta domínios .br

Gerando site no Github Pages

Vamos praticar!!!

Aplicaremos:

O que achou?

Rerefências e Cursos 

Como estudar e aprender mais...

Referências e Cursos:

- Git community book: 

http://git-scm.com/book/pt-br/v1

 

- Git Official website: 

http://git-scm.com

 

- Github website: 
http://github.com

 

- Livro: Introducão do Github 
http://novatec.com.br/livros/introgithub/

 

Referências e Cursos:

- Github Help - Bootcamp: 
https://help.github.com/categories/bootcamp/


- Treinamento Github: 
https://training.github.com/

 

- Kit de desevolvimento (gratuito para estudantes)

https://education.github.com/pack

 

Referências e Cursos:

- Curso Code School - Try Github: 
https://try.github.io


- Curso de Git para Iniciantes: 
https://www.youtube.com/playlist?list=PLInBAd9OZCzzHBJjLFZzRl6DgUmOeG3H0

 

- Curso Udacity - Como usar controle de versão em Git e Github:
https://www.udacity.com/course/ud775

ObrigAda!

Facebook: lidiannemonteiro

Twitter: @Lidy_Monteiro

Github: lidymonteirowm

Blog: revistaforum.com.br/vozemrede

Made with Slides.com