Utilizando Git nos seus projetos de software
-
Upload
airton-zanon -
Category
Technology
-
view
200 -
download
1
Transcript of Utilizando Git nos seus projetos de software
20 100
110
Quem sou eu?
Airton ZanonProgramador PHPDaltônicoEvangelista PHPSP
www.airtonzanon.com.brtwitter.com/airtonzanon
http://bit.ly/phpnoroestepaulista
Slack PHPSPphpsp.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 TorvaldsMaio 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
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
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
Iniciando um repositório - git initgit init <diretorio>
git status
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
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>
Logs - git loggit log -n <numero>
git log --stat
git log --pretty=oneline ou --oneline
git log --graph --oneline
Branchs - git branchgit 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 diffgit diff <nomebranch>
git diff <idcommit1> <idcommit2>
git diff --stat
Mesclando branchs - git mergegit merge <essabranch> <outrabranch>
git merge --no-ff
Adicionando repositório remoto - git remotegit remote add <nome> <linkrepo>
Atualizando repo local com remoto - git pullgit pull <nomeremoto> <branchremota>
git pull --rebase
git pull --prune
Atualizando repo remoto com local - git pushgit push <nomerepo> <nomebranch>
git push --all
git push --prune
Atualizando repo local - git fetchgit fetch <nomerepo>
git fetch --all
git fetch --prune
Clonando projetos - git clonegit clone
Contribuindo com ProjetosFork
Branch
PR
Upstream
20 100
110