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
Controle de Versão - InspirAda do Zero ao Deploy
By Lidiane Monteiro
Controle de Versão - InspirAda do Zero ao Deploy
- 2,185