Introdução ao controle de versão com GIT - FLISOL 2013

Preview:

DESCRIPTION

Workshop ministrado no FLISOL 2013, em Marília SP, sediado no UNIVEM.

Citation preview

INTRODUÇÃO AO CONTROLE DE VERSÃO

COM GIT

FLISOL 2013

BRAYAN L. RASTELLI

Quem sou euBrayan Rastelli

Desenvolvedor web há 4 anos.

Programador Pleno na Tray Tecnologia

Follow me

http://twitter.com/heybrayan

http://fb.com/brayanrastelli

http://blog.brayanrastelli.com

http://github.com/brayann

Conceitos básicos

O que é controle de versão?

Por quê utilizá-lo?

Controle do histórico

Trabalho em equipe facilitado

Rollback de erros

Ramificação do projeto

Ramificações: Separação por BranchesRamificações: Separação por Branches

Tipos de controle de versão

Centralizado

Controle de versão centralizado, tendo apenas um servidor para gerenciar as versões.

Exemplo: SVN

Descentralizado

Cada diretório de trabalho é um repositório com habilidade total de controle, não dependente de acesso a uma rede ou a um servidor central.

Exemplo: GIT

Arquitetura SVN

Arquitetura SVN

Arquitetura GIT

Arquitetura GIT

Problemas do SVNDifícil para voltar em passos anteriores (rollback)

Conflitos “estranhos”

Dependente do servidor para tudo

Dificuldades no deploy

Geração de tags/branches

GITOriginalmente criado por Linus Torvalds

Desenvolvido para manter o kernel do Linux.

Descentralizado: não depende do servidor, pois cada repositório é um servidor.

Facilidade em alternar entre tags e branches, sem necessidade de baixar o projeto inteiro em outros diretórios

Redução de conflitos/merges.

Branches e tags bem mais simplificados.

Comandos básicosConfigurações básicas

git config --global user.name “Brayan”

git config --global user.email “seu@email.com”

git config --global color.ui true

Criando seu repositório

Crie uma pasta, e execute o comando: git init

Comandos básicosgit add <arquivo ou pasta, ou . para add tudo>

git commit -m “Explicação sobre o commit”

git push {remote} {branch} {tag}

git status

git log {arquivo | pasta | tag | commit}

git branch {nome}

git checkout {branch | tag | commit | arquivo}

git merge {branch}

Comandos básicos

git diff {arquivo | pasta | commit}

git blame {arquivo | pasta}

git tag 1.0 (gera tag)

git commit (commit na ultima tag)

git push <remote> <branch> <tag>

git log <tag>

Mão na massaCriando repositorio

Adicionando arquivos

Ignorando arquivos do repositorio

Removendo arquivos do repositorio

Criando commits

Criar branches

Merge branches

Gerando tags

Revertendo commits

Enviando para o servidor GIT

Se der tempo, deploy online

Limpar cache gitignore

git rm -r --cached .

Limpar cache gitignore

git rm -r --cached .

Serviços GIT

Github - Mais utilizado para projetos open-source. www.github.com

Bitbucket - Repositórios privados free. www.bitbucket.org

Dúvidas?

Recommended