20 100
110
Quem sou eu?
Airton Zanon
Programador PHP
Daltônico
Evangelista PHPSP
www.airtonzanon.com.br
twitter.com/airtonzanon
http://bit.ly/phpnoroestepaulista
Slack PHPSP
phpsp.org.br
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
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
Linus Torvalds
Maio de 2007 na Google
https://youtu.be/4XpnKHJAok8
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.”
O que precisamos saber?
● Temos controle de versão com commits, tags e branchs
● Distribuido
Subversion-style workflow Git-style workflow (Github)
O que precisamos saber?
● Focado em agilidade e eficiencia
● Histórico (log)
Projetos Open Source
“Yes, we can!” - Obama, Barack
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)
O que vamos aprender?
http://www.slideshare.net/ThamaraHessel/git-saia-do-bsico
Ecossistema
Ecossistema
● SHA1 (hash) - 7f30f07b06bc0e56a2d109874f61a4f551779090
● Short hash - 7f30f07
● Arquivo .git
Instalando
Windows - https://git-scm.com/download/win
Mac - https://git-scm.com/download/mac
Linux - apt-get install git ou yum install git
git --version
Simples Configuração - git config
--local, --global, --system
git config --global user.name “Airton Zanon”
git config --global user.email airtonzanon@gmail.com
git config --list
Iniciando um repositório - git init
git init <diretorio>
git status
Adicionando arquivos no stage - git add
git add -u
git add -A (ou --all)
git add <arquivo> ou <diretorio>
git rm --cached -rf <arquivo> ou <diretorio>
git status
Commitando - git commit
git 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>
Logs - git log
git log -n <numero>
git log --stat
git log --pretty=oneline ou --oneline
git log --graph --oneline
Branchs - git branch
git branch <nomebranch> opcional <idcommit>
git checkout -b <nomebranch> opcional <idcommit>
git branch -d <nomebranch>
git branch -vv
git checkout <nomebranch>
Diferenciando branchs e/ou commits - git diff
git diff <nomebranch>
git diff <idcommit1> <idcommit2>
git diff --stat
Mesclando branchs - git merge
git merge <essabranch> <outrabranch>
git merge --no-ff
Adicionando repositório remoto - git remote
git remote add <nome> <linkrepo>
Atualizando repo local com remoto - git pull
git pull <nomeremoto> <branchremota>
git pull --rebase
git pull --prune
Atualizando repo remoto com local - git push
git push <nomerepo> <nomebranch>
git push --all
git push --prune
Atualizando repo local - git fetch
git fetch <nomerepo>
git fetch --all
git fetch --prune
Clonando projetos - git clone
git clone
Contribuindo com Projetos
Fork
Branch
PR
Upstream
MUITO OBRIGADO!
Airton Zanon
Estamos contratando! :D
airtonzanon@gmail.com
www.airtonzanon.com.br
twitter.com/airtonzanon
20 100
110

Utilizando Git nos seus projetos de software

  • 1.
  • 2.
    Quem sou eu? AirtonZanon Programador PHP Daltônico Evangelista PHPSP www.airtonzanon.com.br twitter.com/airtonzanon
  • 3.
  • 4.
  • 5.
    Histórico ● Iniciou emAbril 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
  • 6.
    Histórico ● Agosto de2010 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
  • 7.
    Linus Torvalds Maio de2007 na Google https://youtu.be/4XpnKHJAok8
  • 8.
    O que é? “Gitis a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.”
  • 9.
    O que precisamossaber? ● Temos controle de versão com commits, tags e branchs ● Distribuido Subversion-style workflow Git-style workflow (Github)
  • 10.
    O que precisamossaber? ● Focado em agilidade e eficiencia ● Histórico (log)
  • 11.
    Projetos Open Source “Yes,we can!” - Obama, Barack
  • 12.
    O que vamosaprender? ● Iniciar um projeto ● Criar versões (commits) ● Criar linhas do tempo (branchs) e mesclar (merge) ● Clonar e contribuir em projetos (fork and pull request)
  • 13.
    O que vamosaprender? http://www.slideshare.net/ThamaraHessel/git-saia-do-bsico
  • 14.
  • 15.
    Ecossistema ● SHA1 (hash)- 7f30f07b06bc0e56a2d109874f61a4f551779090 ● Short hash - 7f30f07 ● Arquivo .git
  • 16.
    Instalando Windows - https://git-scm.com/download/win Mac- https://git-scm.com/download/mac Linux - apt-get install git ou yum install git git --version
  • 17.
    Simples Configuração -git config --local, --global, --system git config --global user.name “Airton Zanon” git config --global user.email airtonzanon@gmail.com git config --list
  • 18.
    Iniciando um repositório- git init git init <diretorio> git status
  • 19.
    Adicionando arquivos nostage - git add git add -u git add -A (ou --all) git add <arquivo> ou <diretorio> git rm --cached -rf <arquivo> ou <diretorio> git status
  • 20.
    Commitando - gitcommit git 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>
  • 21.
    Logs - gitlog git log -n <numero> git log --stat git log --pretty=oneline ou --oneline git log --graph --oneline
  • 22.
    Branchs - gitbranch git branch <nomebranch> opcional <idcommit> git checkout -b <nomebranch> opcional <idcommit> git branch -d <nomebranch> git branch -vv git checkout <nomebranch>
  • 23.
    Diferenciando branchs e/oucommits - git diff git diff <nomebranch> git diff <idcommit1> <idcommit2> git diff --stat
  • 24.
    Mesclando branchs -git merge git merge <essabranch> <outrabranch> git merge --no-ff
  • 25.
    Adicionando repositório remoto- git remote git remote add <nome> <linkrepo>
  • 26.
    Atualizando repo localcom remoto - git pull git pull <nomeremoto> <branchremota> git pull --rebase git pull --prune
  • 27.
    Atualizando repo remotocom local - git push git push <nomerepo> <nomebranch> git push --all git push --prune
  • 28.
    Atualizando repo local- git fetch git fetch <nomerepo> git fetch --all git fetch --prune
  • 29.
    Clonando projetos -git clone git clone
  • 30.
  • 31.
    MUITO OBRIGADO! Airton Zanon Estamoscontratando! :D airtonzanon@gmail.com www.airtonzanon.com.br twitter.com/airtonzanon
  • 32.