primeiros passos - git

144

Upload: stefan-horochovec

Post on 18-Nov-2014

3.417 views

Category:

Software


11 download

DESCRIPTION

Treinamento básico sobre GIT

TRANSCRIPT

Page 1: Primeiros passos - GIT
Page 2: Primeiros passos - GIT

Instrutor

Stefan Horochovec• Arquiteto de Software;• Adobe Community Manager;• Oreilly Community Author;• BlackBerry Developer Manager;• Professor/Autor/Palestrante;• 13 anos de experiência no desenvolvimento WEB;• 5 anos de experiência no desenvolvimento Mobile;• 7 anos como líder de grupo de desenvolvedores;• Blog: http://www.horochovec.com.br/• Twitter: @horochovec

Page 3: Primeiros passos - GIT

Agenda• Histórico;• Distributed Version Control;• Instalação

• Windows;• Linux;

• Configurações;• Command Line

• git init;• git add;• git commit;• git log;• git status;• git diff;• git rm;• git mv;• git checkout;• git reset;• git commit –amend;

• .gitignore;• Comunicação remota;

Page 4: Primeiros passos - GIT

HistóricoDe onde viemos e para onde estamos caminhando

Page 5: Primeiros passos - GIT

Histórico

• Source Code Control System – SCCS• 1972;• Código fechado;• Distribuído gratuitamente com Unix;• O versionamento era baseado em SNAPSHOTs das alterações do arquivo.

Para obter versões recentes, o Diff das alterações eram aplicados na ordem cronológica do versionamento, uma operação lenta em arquivos com grandes números de modificações;

• Revision Control System – RCS• 1982;• Open-source;• Cross-plataform;• O versionamento era baseado em manter disponível a última alteração

do arquivo. Para obter versões antigas, o PATH das alterações era aplicado de forma retroativa ao último arquivo versionado, garantindo assim uma maior velocidade comparando com o SCCS;

Page 6: Primeiros passos - GIT

Histórico

• Concurrent Version System – CVS• 1986 - 1990;• Open-source;• Criado o conceito de repositório;• Trabalhava apenas com arquivos textos;• Múltiplas pessoas poderiam trabalhar no mesmo arquivo;

• Apache Subversion – SVN• 2000;• Open-source;• Versionamento de arquivos binários;• O versionamento era baseado em diretórios, e não em arquivos.

Surge o conceito de REVISION;• Uma REVISION baseava que determinados arquivos foram

alterados naquele “commit”.

Page 7: Primeiros passos - GIT

Histórico

• Git – Git• 2005;• Criado por Linus Trovalds;• Distributed Version Control;• Mais rápido que outros SCM (até 100x mais);• Utilizado por empresas como:

• Adobe;• Apache Software Foundation;• Atlassian (JIRA, Confluence);• BlackBerry;• Globo.com;• Google;• Petrobras;• Rede Globo;• Oracle;

Page 8: Primeiros passos - GIT

Distributed Version ControlNova filosofia para controle de versões

Page 9: Primeiros passos - GIT

Distributed Version Control

• Filosofia anterior• Único repositório central contendo uma versão centralizada;• Cópias locais do repositório central com constantes check-outs

para sincronização;

• Nova filosofia• Não existe o conceito de um único repositório;• Alterações de código são mantidas em “change sets”;• O foco muda para controle de change sets entre repositórios;

Page 10: Primeiros passos - GIT

Arquitetura GIT

Page 11: Primeiros passos - GIT

Arquitetura GIT

• Modelo SVN

Workspace

Repositório

Commit Check-out

Page 12: Primeiros passos - GIT

Arquitetura GIT

• Modelo GIT

Staging Index

Repositório

Add’s

Fetch

Workspace

Commit

Page 13: Primeiros passos - GIT

Instalando GITWindows

Page 14: Primeiros passos - GIT

Instalação - Windows

Page 15: Primeiros passos - GIT

Instalação - Windows

Page 16: Primeiros passos - GIT

Instalação - Windows

Page 17: Primeiros passos - GIT

Instalação - Windows

Page 18: Primeiros passos - GIT

Instalação - Windows

Page 19: Primeiros passos - GIT

Instalação - Windows

Page 20: Primeiros passos - GIT

Instalação - Windows

Page 21: Primeiros passos - GIT

Instalação - Windows

Page 22: Primeiros passos - GIT

Instalação - Windows

Page 23: Primeiros passos - GIT

Instalação - Windows

Page 24: Primeiros passos - GIT

Instalação - Windows

Page 25: Primeiros passos - GIT

Instalando GITLinux

Page 26: Primeiros passos - GIT

Instalação - Linux

Page 27: Primeiros passos - GIT

Instalação - Linux

Page 28: Primeiros passos - GIT

Instalação - Linux

Page 29: Primeiros passos - GIT

Instalação - Linux

Page 30: Primeiros passos - GIT

Configuração

Page 31: Primeiros passos - GIT

Configuração

• Globais (ou de sistema)• Path de instalação\etc\gitconfig• “git config --system”

• Por usuário• Diretório de usuário\.gitconfig• “git config --global”

• Por projeto• Diretório do projeto\.git\config• “git config”

Page 32: Primeiros passos - GIT

Configuração

• Informações pessoais

Page 33: Primeiros passos - GIT

Configuração

• Informações pessoais

Page 34: Primeiros passos - GIT

Command Line

Page 35: Primeiros passos - GIT

git initInicia a estrutura de diretórios para que o git efetue o tracking em um determinado diretório.

Page 36: Primeiros passos - GIT

git init

Page 37: Primeiros passos - GIT

git addCom o comando “add”, o git irá verificar todas as alterações feitas a partir do seu diretório e irá adicioná-las ao tracking de alterações.

Page 38: Primeiros passos - GIT

git add

Page 39: Primeiros passos - GIT

git add

Page 40: Primeiros passos - GIT

git commitNesse momento o git adiciona em seu repositório local as alterações feitas.

Page 41: Primeiros passos - GIT

git commit

Page 42: Primeiros passos - GIT

git logPossibilita a visualização do histórico de commits em seu repositório.

Page 43: Primeiros passos - GIT

git log

Page 44: Primeiros passos - GIT

git log

Page 45: Primeiros passos - GIT

git statusVisualiza a lista de alterações desde o último commit.

Page 46: Primeiros passos - GIT

git status

Page 47: Primeiros passos - GIT

git status

Page 48: Primeiros passos - GIT

git status

Page 49: Primeiros passos - GIT

git status

Page 50: Primeiros passos - GIT

git status

Page 51: Primeiros passos - GIT

git status

Page 52: Primeiros passos - GIT

git status

Page 53: Primeiros passos - GIT

git status

Page 54: Primeiros passos - GIT

git status

Page 55: Primeiros passos - GIT

git status

Page 56: Primeiros passos - GIT

git diffVisualizando as alterações feitas nos arquivos.

Page 57: Primeiros passos - GIT

git diff

Page 58: Primeiros passos - GIT

git diff

Page 59: Primeiros passos - GIT

git diff

Page 60: Primeiros passos - GIT

git diff

Page 61: Primeiros passos - GIT

git diff

Page 62: Primeiros passos - GIT

git rmRemovendo arquivos de nossos repositórios.

Page 63: Primeiros passos - GIT

git rm

Page 64: Primeiros passos - GIT

git rm

Page 65: Primeiros passos - GIT

git rm

Page 66: Primeiros passos - GIT

git rm

Page 67: Primeiros passos - GIT

git rm

Page 68: Primeiros passos - GIT

git mvRenomeando/Movendo arquivos em nosso repositório.

Page 69: Primeiros passos - GIT

git mv

Page 70: Primeiros passos - GIT

git mv

Page 71: Primeiros passos - GIT

git mv

Page 72: Primeiros passos - GIT

git checkoutDesfazendo alterações.

Page 73: Primeiros passos - GIT

git checkout

Page 74: Primeiros passos - GIT

git checkout

Page 75: Primeiros passos - GIT

git checkout

Page 76: Primeiros passos - GIT

git resetDesfazendo alterações no staging index.

Page 77: Primeiros passos - GIT

git reset

Page 78: Primeiros passos - GIT

git reset

Page 79: Primeiros passos - GIT

git commit --amendAlterando o último commit.

Page 80: Primeiros passos - GIT

git commit --amend

Page 81: Primeiros passos - GIT

git commit --amend

Page 82: Primeiros passos - GIT

git commit --amend

Page 83: Primeiros passos - GIT

.gitignoreIgnorando arquivos

Page 84: Primeiros passos - GIT

git ignore

Page 85: Primeiros passos - GIT

git ignore

Page 86: Primeiros passos - GIT

git ignore

Page 87: Primeiros passos - GIT

Comunicação remotaPush, fetchs, merges e forks

Page 88: Primeiros passos - GIT

Comunicação remota

Servidor Remoto

Computador Local

Commit 1 Commit 2 Commit 3master

Page 89: Primeiros passos - GIT

Comunicação remota

Servidor Remoto

Computador Local

Commit 1 Commit 2 Commit 3

push

master

Page 90: Primeiros passos - GIT

Comunicação remota

Servidor Remoto

Computador Local

Commit 1 Commit 2 Commit 3

push

master

Commit 1 Commit 2 Commit 3master

Page 91: Primeiros passos - GIT

Comunicação remota

Servidor Remoto

Computador Local

Commit 1 Commit 2 Commit 3

push

master

Commit 1 Commit 2 Commit 3master

Commit 1 Commit 2 Commit 3origin/master

Page 92: Primeiros passos - GIT

Comunicação remota

Servidor Remoto

Computador Local

Commit 1 Commit 2 Commit 3master

Commit 1 Commit 2 Commit 3master

Commit 1 Commit 2 Commit 3origin/master

Commit 4

Page 93: Primeiros passos - GIT

Comunicação remota

Servidor Remoto

Computador Local

Commit 1 Commit 2 Commit 3master

Commit 1 Commit 2 Commit 3master

Commit 1 Commit 2 Commit 3origin/master

Commit 4

fetch

Page 94: Primeiros passos - GIT

Comunicação remota

Servidor Remoto

Computador Local

Commit 1 Commit 2 Commit 3master

Commit 1 Commit 2 Commit 3master Commit 4

fetch

Commit 1 Commit 2 Commit 3origin/master Commit 4

Page 95: Primeiros passos - GIT

Comunicação remota

Servidor Remoto

Computador Local

master

Commit 1 Commit 2 Commit 3master Commit 4

mergeCommit 1 Commit 2 Commit 3origin/master Commit 4

Commit 1 Commit 2 Commit 3 Commit 4

Page 96: Primeiros passos - GIT

Real World!Criando um projeto Java e um repositório git.

Page 97: Primeiros passos - GIT

Real World – Projeto Java

Page 98: Primeiros passos - GIT

Real World – Projeto Java

Page 99: Primeiros passos - GIT

Real World – Projeto Java

Page 100: Primeiros passos - GIT

Real World – Repositório Git

Page 101: Primeiros passos - GIT

Real World – Repositório Git

Page 102: Primeiros passos - GIT

Real World – Repositório Git

Page 103: Primeiros passos - GIT

Real World – Repositório Git

Page 104: Primeiros passos - GIT

Real World – Repositório Git

Page 105: Primeiros passos - GIT

Real World – Repositório Git

Page 106: Primeiros passos - GIT

Real World – Repositório Git

Page 107: Primeiros passos - GIT

Real World – Repositório Git

Page 108: Primeiros passos - GIT

Real World – Repositório Git

Page 109: Primeiros passos - GIT

Real World – Repositório Git

Page 110: Primeiros passos - GIT

Real World – Repositório Git

Page 111: Primeiros passos - GIT

Real World – Repositório Git

Page 112: Primeiros passos - GIT

Real World – Repositório Git

Page 113: Primeiros passos - GIT

Real World – Repositório Git

Page 114: Primeiros passos - GIT

Real World – Repositório Git

Page 115: Primeiros passos - GIT

Real World – Repositório Git

Page 116: Primeiros passos - GIT

Real World – Repositório Git

Page 117: Primeiros passos - GIT

Real World – Repositório Git

Page 118: Primeiros passos - GIT

Real World – Repositório Git

Page 119: Primeiros passos - GIT

Real World – Repositório Git

Page 120: Primeiros passos - GIT

Real World – Repositório Git

Page 121: Primeiros passos - GIT

Real World – Repositório Git

Page 122: Primeiros passos - GIT

Real World – Repositório Git

Page 123: Primeiros passos - GIT

Real World – Repositório Git

Page 124: Primeiros passos - GIT

Real World – Repositório Git

Page 125: Primeiros passos - GIT

Real World!Fork de projetos

Page 126: Primeiros passos - GIT

Real World – Fork

Page 127: Primeiros passos - GIT

Real World – Fork

Page 128: Primeiros passos - GIT

Real World – Fork

Page 129: Primeiros passos - GIT

Real World – Fork

Page 130: Primeiros passos - GIT

Real World – Fork

Page 131: Primeiros passos - GIT

Real World – Fork

Page 132: Primeiros passos - GIT

Real World – Fork

Page 133: Primeiros passos - GIT

Real World – Fork

Page 134: Primeiros passos - GIT

Real World – Fork

Page 135: Primeiros passos - GIT

Real World – Fork

Page 136: Primeiros passos - GIT

Real World – Fork

Page 137: Primeiros passos - GIT

Real World – Fork

Page 138: Primeiros passos - GIT

Real World – Fork

Page 139: Primeiros passos - GIT

Real World – Fork

Page 140: Primeiros passos - GIT

Real World – Fork

Page 141: Primeiros passos - GIT

Real World – Fork

Page 142: Primeiros passos - GIT

Real World – Fork

Page 143: Primeiros passos - GIT

Real World – Fork

Page 144: Primeiros passos - GIT

Obrigado“O talento vence jogos, mas só o trabalho em equipe ganha campeonatos.” – Michael Jordan