Git e Github

Post on 09-Aug-2015

63 views 1 download

Transcript of Git e Github

GitSistema de controle de versão distribuído

Evandro da Silva Amparoblog.evandroamparo.com

Resumo

Sistemas de controle de versãoCentralizado x distribuído

SVN x GitWorkflows

GitHubFerramentas visuais

Sistemas de controle de versão

Por quê?

Evitar que um desenvolvedor sobrescreva o código de outro

Desenvolver versões em paralelo

Saber o que foi alterado, quando e por quem

Recuperar código de uma versão anterior

E muito mais

Sistemas de controle de versão

Como?

Mantendo histórico de revisões

Sistemas de controle de versão

Como?Facilitando a colaboração

Sistemas de controle de versão

Como?

Branches - versões em paralelo

Conceitos

Repositório

Conjunto de arquivos e de todo o histórico de modificações de um projeto.

Tem a capacidade de "se lembrar" de todas as alterações gravadas nele.

Conceitos

Revisão

Cada uma das alterações feitas num arquivo ou repositório.

Conceitos

Cópia de trabalho

Uma cópia do repositório onde são feitas as modificações.

Conceitos

Branch

É uma ramificação do repositório que pode evoluir de maneira independente.

Conceitos

Master

É o branch principal.

Conceitos

Head

É uma referência para o commit atual(última revisão)

Conceitos

Origin

Nome dado ao repositório remoto "primário", onde devem ser feitas as sincronizações.

Conceitos

Staging areaÁrea intermediária

Adicionar alterações ao index e depois comitar

Adicionar alterações ao index e comitar ao

mesmo tempo

Centralizado

Distribuído

SVN x Git

TrunkCheckoutCommitUpdateRevert

Commits/branches/tags remotos

MasterClone

Commit/PushUpdate/PullCheckout

Commits/branches/tags locais

Workflows

Configurando o Git

$ git config --global user.name "John Doe"

$ git config --global user.email johndoe@example.com

Workflows

1 - Manter histórico de alterações

$ git init

$ git add readme.txt

$ git commit -m "initial project version"

$ git log

$ (editar readme.txt)

$ git diff

$ git add readme.txt

$ git commit -m "readme"

Workflows

2 - Branch & merge

$ git branch v2.0 # cria o branch

$ git checkout v2.0 # altera o branch atual

$ (editar readme.txt)

$ git add readme.txt

$ git commit -m "readme 2.0"

$ git checkout master

$ git merge v2.0

$ git branch -d v2.0 # exclui o branch

Workflows

3 - Usando um repositório remoto no GitHub

$ git clone https://github.com/tecsystem/RubyLab.git

$ (fazer alterações locais)

$ git pull # receber atualizações

$ gut push # enviar atualizações

Links● Conceitos Básicos de Controle de Versão de Software —

Centralizado e Distribuído● Git para Usuários do Subversion, Parte 1 | Parte 2● Aprendendo Git para quem conhece Subversion● Começando com Git (para usuários de SVN ou CVS)● Git Svn Crash Course● Iniciando no GIT – Parte 1 | Parte 2● Key Git Concepts● GitCasts : Git Screencasts● Git Immersion● git - guia prático● Git Magic● Git Tutorials● Git Workflows● Git Reference● GitGuys