Controlando versões com Git e GitHub

Nota do livro: 9.

Alexandre Aquiles e Rodrigo Ferreira

Desenvolver software não é fácil. Há sempre demandas de novas funcionalidades a serem desenvolvidas e de alterações nas funcionalidades já existentes. Por isso, uma das preocupações nos projetos é manter um histórico de evolução do código fonte, facilitando o trabalho de desfazer algumas dessas alterações caso seja necessário. Além disso, como geralmente trabalhamos em equipe, outra preocupação é sobre como integrar o trabalho entre os membros da equipe. Diversos problemas relacionados com essas preocupações podem acontecer durante o desenvolvimento de um software, e para evitá-los é essencial a utilização de uma ferramenta de controle de versão. O Git é uma dessas ferramentas de controle de versão. Foi criado em 2005 por Linus Torvalds, o criador do Linux, e hoje é uma das ferramentas de controle de versão mais utilizadas nos projetos de desenvolvimento de software, por ser mais rápido e eficiente do que as outras ferramentas tradicionais, como CVS e SVN. Já o GitHub é um serviço web que nos permite hospedar repositórios de projetos que utilizam o Git, facilitando assim o trabalho em equipe e a colaboração com projetos open source. Neste livro, Alexandre Aquiles e Rodrigo Ferreira mostrar?o como utilizar o Git para controlar as versões do seu projeto. Serão ensinados comandos para criação de repositórios, trabalho local e remoto, branches, tags, conflitos, dentre outros assuntos. Além disso, será ensinado como criar uma conta no GitHub e utilizá-la para hospedar seus repositórios.

Comandos Hard de Git

git branch -a (Todas Locais e Remotos)

git push origin novaBranch (Mandar para o GitHub)

git checkout -b novaBranch origin/novaBranch (Mudando a branch de trabalho)

git push origin master (Mandando alterações para a branch master)

git fetch (traz commits de branch remota)

git pull (tem o mesmo efeito) git fetch (seguido de) git merge origin/master

git pull –rebase (tem o mesmo efeito) git fetch (seguido de) git rebase

git merge origin/master -m “mensagem” (mesclando branches remotas e locais)

git rebase origin/master (mesclando branches remotas e locais com o rebase)

Comandos avançados do GIT

Resumo dos comits.

git log --oneline

Resumo dos comits que não estão na área stage.

git log -n 2 --oneline --stat

Utilizar o git checkout quando não está na área stage.

Utilizar o git reset quando estiver na área stage.

Mostrar o que já tem para o branch atual.

git branch -v

Quando quiser criar uma branch e já mudar automaticamente.

git checkout -b novaBranch

Quando quiser deletar uma branch.

git branch -d novaBranch

Quando quiser um resumo dos logs de todas as branchs.

git log -n 3 --oneline --decorate --parents

Quando quiser mesclar sem dar o merge.

git branch --no-merged

Quando quiser mesclar com o merge.

git merge design -m "mensagem"