git + github

25
Por Jonata Weber [email protected] + Grupo Práticas de Software

Upload: praticasdesoftware

Post on 24-May-2015

732 views

Category:

Technology


2 download

DESCRIPTION

Apresentação realizada durante a reunião do grupo Práticas de Software na UEFS sobre Git e Github,

TRANSCRIPT

Page 1: Git + Github

Por Jonata [email protected]

+

Grupo Práticas de Software

Page 2: Git + Github

Agenda Controle de Versão

O que é? Benefícios Por que utilizar? Modelos

Git Noções básicas Três Estados Prática

Github

Page 3: Git + Github

Controle de Versão (VCS)

O que é? O controle de versão é um sistema que registra as

mudanças feitas em um arquivo ou um conjunto de arquivos ao longo do tempo de forma que você possa recuperar versões específicas

Benefícios Histórico

Quem, quando e onde? Colaboração

Trabalho paralelo Variações no Projeto

Page 4: Git + Github

Avaliação Rápida

Alguém já sobrescreveu o código de outra pessoa por acidente e acabou perdendo as alterações?

Tem dificuldades em saber quais as alterações efetuadas em um software, quando foram feitas e quem fez?

Tem dificuldade em recuperar o código de uma versão anterior que está em produção?

Tem problemas em manter variações do sistema ao mesmo tempo?

Page 5: Git + Github

Avaliação Rápida Se alguma das perguntas anteriores teve um

SIM como resposta, então sua equipe necessita urgentemente de um sistema para controle de versão!

Controle de versão é fundamental para o desenvolvimento de software

Page 6: Git + Github

Como funciona um VCS?

Page 7: Git + Github

Ferramentas As melhores são Open Source

Centralizado Subversion, por exemplo.

Distribuído Exemplo: Mercurial e o Git

Page 8: Git + Github

VCS Centralizado

Page 9: Git + Github

VCS Distribuído

Page 10: Git + Github

VCS Distribuído Pull (Puxar)

Atualiza o repositório local Push (Empurrar)

Atualiza o repositório remoto

Page 11: Git + Github

VCS Distribuído

Page 12: Git + Github

Noções Básicas de Git

Page 13: Git + Github

Snapshots, E Não Diferenças

VCS Convencionais

Page 14: Git + Github

Snapshots, E Não Diferenças

Git

Page 15: Git + Github

Noções Básicas de Git Quase todas as operações são locais

Menor latência Histórico do projeto no seu disco local Trabalho offline

Git tem integridade Checksum (hash SHA-1)24b9da6552252987aa493b52f8696cd6d3b00373

Fazer um commit de um snapshot no Git, é muito difícil que você o perca

Page 16: Git + Github

Noções Básicas de Git

Os Três Estados Modificado (modified) Preparado (staged) Consolidado (committed)

Page 17: Git + Github

Os Três Estados

Page 18: Git + Github

Os Três Estados O workflow básico do Git pode ser descrito

assim:1. Você modifica arquivos no seu diretório de

trabalho.2. Você seleciona os arquivos, adicionando

snapshots deles para sua área de preparação.3. Você faz um commit, que leva os arquivos

como eles estão na sua área de preparação e os armazena permanentemente no seu diretório Git.

Page 19: Git + Github

Instalando Git Baixar snapshot mais recente:

http://git-scm.com/download Instalando no Linux

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

Instalando no Mac http://code.google.com/p/git-osx-installer

Page 20: Git + Github

Instalando Git http://msysgit.github.com

Cliente SSH e GUI padrão Sua Identidade

$ git config --global user.name “Jonata Weber"$ git config --global user.email

[email protected]

Page 21: Git + Github

Git na Prática Criar um novo repositório

git init

Obter um repositóriogit clone /caminho/para/o/repositório

git clone usuário@servidor:/caminho/para/o/repositório

Adicionar e confirmar (staging)git add <arquivo>

git add *

Commitgit commit -m "comentários das alterações“

Enviar alteraçõesgit push origin master

Adicionar um servidor remotogit remote add origin <servidor>

Log de commitsgit log

Page 22: Git + Github

Exemplo Prático1. Criar e movimentar um repositório local2. Empurrar (Push) para um repositório remoto3. Puxar (Pull) de um repositório remoto4. Deploy automático

Page 23: Git + Github

Github GitHub é um Serviço de Web Hosting

Compartilhado para projetos que usam o controle de versionamento Git.

https://github.com/ É escrito em Ruby on Rails. Planos comerciais e gratuitos para projetos de

código aberto. Possui algumas funcionalidades

Rede social como feeds, followers, wiki e um gráfico que mostra como os desenvolvedores trabalham as versões de seus repositórios.

Page 24: Git + Github

Referências http://www.pronus.eng.br/artigos_tutoriais/gerencia_configuracao/

conceitos_basicos_controle_versao_centralizado_e_distribuido.php?pagNum=3 http://git-scm.com/book/pt-br/Primeiros-passos-Sobre-Controle-de-Vers%C3%A3o http://rogerdudler.github.io/git-guide/index.pt_BR.html http://www.akitaonrails.com/2010/02/13/deploy-com-git-push https://devcenter.heroku.com/articles/git http://blog.thiagobelem.net/automatizando-a-instalacao-deploy-e-atualizacao-de-sites-

com-git/ http://www.contagia.com.br/blog/git-pra-que-serve/ http://marklodato.github.io/visual-git-guide/index-en.html http://www.abstraindo.com/ambiente-de-desenvolvimento/vagrant-de-forma-simples-

parte-1/

Page 25: Git + Github

Obrigado!!