Vitor Alencar

@vitormalencar

I do computer things .

+Vitor Alencar

Agenda

  • 1 Introdução
  • 2 Ciando um repo
  • 3 Obtendo um repo
  • 4 Fluxo
  • 5 Adicionar e Confirmar
  • 6 Enviar
  • 7 Ramificando
  • 8 Atualizar & Mesclar
  • 9 sobrescrever alterações locais
  • 10 Dicas

why ?

????????

  • Velocidade
  • Design simples
  • Suporte robusto a desenvolvimento não linear (milhares de branches paralelos)
  • Totalmente distribuído
  • Capaz de lidar eficientemente com grandes projetos como o kernel do Linux (velocidade e volume de dados)

Super/master/blaster (fast)
 introdução a git !

lets do it !!!

criando um novo repositório

 git init

crie uma nova pasta, abra-a e execute o comando

baixe um repositorio

git clone /caminho/para/o/repositório

crie uma cópia de trabalho em um repositório local executando o comando

git clone usuário@servidor:/caminho/para/o/repositório

fluxo 

seus repositórios locais consistem em três "árvores" mantidas pelo git.

adicionar aquivos

Você pode propor mudanças (adicioná-las ao Index) usando

git add <arquivo>
git add *

Comfirmando

Este é o primeiro passo no fluxo de trabalho básico do git. Para realmente confirmar estas mudanças (isto é, fazer um commit), use

git commit -m "comentários das alterações"

enviando alterações

Suas alterações agora estão no HEAD da sua cópia de trabalho local. Para enviar estas alterações ao seu repositório remoto, execute 

git push origin master

enviando alterações

Altere master para qualquer ramo (branch) desejado, enviando suas alterações para ele. 

git push origin production

enviando alterações

Se você não clonou um repositório existente e quer conectar seu repositório a um servidor remoto, você deve adicioná-lo com

git remote add origin <servidor>

ramificando

Branches ("ramos") são utilizados para desenvolver funcionalidades isoladas umas das outras. O branch master é o branch "padrão" quando você cria um repositório. Use outros branches para desenvolver e mescle-os (merge) ao branch master após a conclusão.

ramificando

git checkout -b funcionalidade_x

crie um novo branch chamado "funcionalidade_x" e selecione-o usando

ramificando

git checkout master

retorne para o master usando

ramificando

git branch -d funcionalidade_x

e remova o branch da seguinte forma

ramificando

git push origin <funcionalidade_x>

um branch não está disponível a outros a menos que você envie o branch para seu repositório remoto

atualizar & mesclar

git pull

para atualizar seu repositório local com a mais nova versão, execute 

atualizar & mesclar

git merge <branch>

a sua pasta de trabalho para obter e fazer merge (mesclar) alterações remotas.
para fazer merge de um outro branch ao seu branch ativo (ex. master), use

atualizar & mesclar

git add <arquivo>

em ambos os casos o git tenta fazer o merge das alterações automaticamente. Infelizmente, isto nem sempre é possível e resulta emconflitos. Você é responsável por fazer o merge estes conflitosmanualmente editando os arquivos exibidos pelo git. Depois de alterar, você precisa marcá-los como merged com

atualizar & mesclar

git diff <branch origem> <branch destino>

antes de fazer o merge das alterações, você pode também pré-visualizá-as usando

sobrescrever alterações locais

git checkout -- <arquivo>

No caso de você ter feito algo errado (que seguramente nunca acontece ;) você pode sobrescrever as alterações locais usando o commando

sobrescrever alterações locais

git reset --hard origin/master

Se ao invés disso você deseja remover todas as alterações e commits locais, recupere o histórico mais recente do servidor e aponte para seu branch master local desta forma

Made with Slides.com