Utilizando Git nos seus projetos de software

32
20 100 110

Transcript of Utilizando Git nos seus projetos de software

Page 1: Utilizando Git nos seus projetos de software

20 100

110

Page 2: Utilizando Git nos seus projetos de software

Quem sou eu?

Airton ZanonProgramador PHPDaltônicoEvangelista PHPSP

www.airtonzanon.com.brtwitter.com/airtonzanon

Page 3: Utilizando Git nos seus projetos de software

http://bit.ly/phpnoroestepaulista

Page 4: Utilizando Git nos seus projetos de software

Slack PHPSPphpsp.org.br

Page 5: Utilizando Git nos seus projetos de software

Histórico● Iniciou em Abril de 2005 por Linus Torvalds

● Junio Harmano assume a manutenção do projeto em Julho de 2005

● Versão 1.0 em Dezembro de 2005

● Maio de 2007 Torvalds palestra sobre Git na Google

● Fevereiro de 2008 Github implementa o pull request

● Abril de 2008 o site Github vem ao ar

Page 6: Utilizando Git nos seus projetos de software

Histórico● Agosto de 2010 atual pull request implementado

● Janeiro de 2011 o Git ultrapassa outros softwares de versionamento

● Bitbucket começa o suporte a git em Outubro de 2011

● Versão 2.0 do Git é lançada em Março de 2014

Page 7: Utilizando Git nos seus projetos de software

Linus TorvaldsMaio de 2007 na Google

https://youtu.be/4XpnKHJAok8

Page 8: Utilizando Git nos seus projetos de software

O que é?

“Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.”

Page 9: Utilizando Git nos seus projetos de software

O que precisamos saber?● Temos controle de versão com commits, tags e branchs

● Distribuido

Subversion-style workflow Git-style workflow (Github)

Page 10: Utilizando Git nos seus projetos de software

O que precisamos saber?● Focado em agilidade e eficiencia

● Histórico (log)

Page 11: Utilizando Git nos seus projetos de software

Projetos Open Source

“Yes, we can!” - Obama, Barack

Page 12: Utilizando Git nos seus projetos de software

O que vamos aprender?● Iniciar um projeto

● Criar versões (commits)

● Criar linhas do tempo (branchs) e mesclar (merge)

● Clonar e contribuir em projetos (fork and pull request)

Page 13: Utilizando Git nos seus projetos de software

O que vamos aprender?

http://www.slideshare.net/ThamaraHessel/git-saia-do-bsico

Page 14: Utilizando Git nos seus projetos de software

Ecossistema

Page 15: Utilizando Git nos seus projetos de software

Ecossistema● SHA1 (hash) - 7f30f07b06bc0e56a2d109874f61a4f551779090

● Short hash - 7f30f07

● Arquivo .git

Page 16: Utilizando Git nos seus projetos de software

InstalandoWindows - https://git-scm.com/download/win

Mac - https://git-scm.com/download/mac

Linux - apt-get install git ou yum install git

git --version

Page 17: Utilizando Git nos seus projetos de software

Simples Configuração - git config--local, --global, --system

git config --global user.name “Airton Zanon”

git config --global user.email [email protected]

git config --list

Page 18: Utilizando Git nos seus projetos de software

Iniciando um repositório - git initgit init <diretorio>

git status

Page 19: Utilizando Git nos seus projetos de software

Adicionando arquivos no stage - git addgit add -u

git add -A (ou --all)

git add <arquivo> ou <diretorio>

git rm --cached -rf <arquivo> ou <diretorio>

git status

Page 20: Utilizando Git nos seus projetos de software

Commitando - git commitgit commit -m “mensagem”

● O que é um bom commit?○ Primeira linha (título) - 50 a 60 caracteres○ Demais linhas (conteúdo) - 72 caracteres por parágrafos

git show <idcommit>

Page 21: Utilizando Git nos seus projetos de software

Logs - git loggit log -n <numero>

git log --stat

git log --pretty=oneline ou --oneline

git log --graph --oneline

Page 22: Utilizando Git nos seus projetos de software

Branchs - git branchgit branch <nomebranch> opcional <idcommit>

git checkout -b <nomebranch> opcional <idcommit>

git branch -d <nomebranch>

git branch -vv

git checkout <nomebranch>

Page 23: Utilizando Git nos seus projetos de software

Diferenciando branchs e/ou commits - git diffgit diff <nomebranch>

git diff <idcommit1> <idcommit2>

git diff --stat

Page 24: Utilizando Git nos seus projetos de software

Mesclando branchs - git mergegit merge <essabranch> <outrabranch>

git merge --no-ff

Page 25: Utilizando Git nos seus projetos de software

Adicionando repositório remoto - git remotegit remote add <nome> <linkrepo>

Page 26: Utilizando Git nos seus projetos de software

Atualizando repo local com remoto - git pullgit pull <nomeremoto> <branchremota>

git pull --rebase

git pull --prune

Page 27: Utilizando Git nos seus projetos de software

Atualizando repo remoto com local - git pushgit push <nomerepo> <nomebranch>

git push --all

git push --prune

Page 28: Utilizando Git nos seus projetos de software

Atualizando repo local - git fetchgit fetch <nomerepo>

git fetch --all

git fetch --prune

Page 29: Utilizando Git nos seus projetos de software

Clonando projetos - git clonegit clone

Page 30: Utilizando Git nos seus projetos de software

Contribuindo com ProjetosFork

Branch

PR

Upstream

Page 31: Utilizando Git nos seus projetos de software

MUITO OBRIGADO!

Airton Zanon

Estamos contratando! :D

[email protected]/airtonzanon

Page 32: Utilizando Git nos seus projetos de software

20 100

110