git$ - universidade federal fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 ·...

70
Git Bruno de Pinho Sche.no bsche.no@id.uff.br

Upload: others

Post on 21-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Git  Bruno  de  Pinho  Sche.no  [email protected]  

Page 2: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Histórico  •  Desenvolvido  para  apoiar  o  projeto  do  kernel  do  Linux    

•  De  1991  até  2002  as  mudanças  no  código  eram  passadas  através  de  troca  de  arquivos  

 •  De  2002  a  2005  projeto  do  kernel  do  Linux  uIlizou  um  SCV  chamado  BitKeeper  

 •  Em  2005,  o  BitKeeper  deixaria  de  ser  gratuito    

•  EsImulou  Linus  Torvalds  a  desenvolver  o  próprio  SCV  para  apoiar  o  projeto  do  kernel.  

2

Page 3: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Características  •  Topologia  distribuída  • Armazenamento  de  snapshots  •  Facilidade  para  trabalhar  com  ramos  (branches)  e  eIquetas  (tags)    

3

Fonte: Slides do professor Leonardo Murta

Page 4: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Problema  da  concorrência  

4

Fonte: Slides do professor Leonardo Murta

Page 5: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Política  pessimista  

5

Fonte: Slides do professor Leonardo Murta

Page 6: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Política  pessimista  •  Problemas  administraIvos  

•  Bloqueios  esquecidos  podem  atrasar  o  andamento  do  projeto  

•  Problemas  de  serialização  desnecessária  •  Em  alguns  casos,  as  modificações  atuam  sobre  partes  independentes  dos  arquivos  bloqueados  

•  Falsa  sensação  de  segurança  •  Dependências  semânIcas  podem  cruzar  a  fronteira  de  arquivos  

•  Bloqueios  são  necessários  •  Quando  se  trata  de  arquivos  que  não  podem  ser  combinados   6

Page 7: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Política  otimista  (1/2)  

7

Fonte: Slides do professor Leonardo Murta

Page 8: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Política  otimista  (2/2)  

8

Fonte: Slides do professor Leonardo Murta

Page 9: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Controle  de  concorrência  no  Git  •  PolíIca  oImista  

•  Vários  usuários  podem  alterar  o  mesmo  arquivo  •  Git  tenta  realizar  um  merge  automáIco  •  Caso  haja  conflitos,  eles  devem  ser  resolvidos  pelo  usuário  

9

Page 10: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Sistema  de  arquivos  tradicional  

10

Dimen

são  ESPA

ÇO  

Fonte: Slides do professor Leonardo Murta

Page 11: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Sistema  de  arquivos  versionado  

11

Dimen

são  ESPA

ÇO  

Dimensão  TEMPO  

Fonte: Slides do professor Leonardo Murta

Page 12: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Repositório  local  • Diretório  comum  no  sistema  de  arquivos  local  • Guarda  uma  cópia  do  repositório  

•  Permite  algumas  operações  off-­‐line  •  Permite  transmissão  de  commits  para  o  repositório  remoto  

•  Área  isolada  das  modificações  de  outros  desenvolvedores  •  Suas  modificações  podem  ser  publicadas  com  push  •  Modificações  de  outros  podem  ser  incorporadas  com  pull  

12

Page 13: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Espaço  de  Trabalho  e  Índice  •  Espaço  de  Trabalho  

•  Área  onde  as  mudanças  são  realizadas  pelo  usuário  •  Arquivos  são  modificados,  criados  ou  removidos  

•  Índice  •  Área  temporária  uIlizada  entre  o  repositório  local  e  o  espaço  de  trabalho  

•  Permite  escolher  quais  mudanças  feitas  no  espaço  de  trabalho  serão  adicionadas  a  um  commit  

13

Page 14: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

14

Adaptado de http://nbviewer.ipython.org/github/LUMC/programming-course/blob/master/images/git-remote.png

Fluxo  

Page 15: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  clone  

15

•  Clona um repositório em um novo diretório

•  Cria o vínculo entre as branches do clone e do repositório clonado

Page 16: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  clone  

16

Exemplo  

Sintaxe  

git  clone  [URL]  

Page 17: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

HEAD  

17

•  Ponteiro que controla em qual estado do repositório o sistema está trabalhando

•  Aponta para um commit

Page 18: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  status  

18

•  Mostra o estado do repositório local

•  Mostra os arquivos e diretórios que contêm diferenças entre o índice e o HEAD

Page 19: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  status  

19

Exemplo  

Sintaxe  

git  status  

Page 20: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  add  

20

•  Adiciona conteúdo de arquivos ao índice

•  Prepara para o commit

Page 21: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  add  

21

Exemplo  

Sintaxe  

git  add  [caminho]  

Page 22: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  rm  

22

•  Remove arquivos do índice e do espaço de trabalho

•  Adiciona a remoção do arquivo nas mudanças do commit

Page 23: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  rm  

23

Exemplo  

Sintaxe  

git  rm  [caminho]  

Page 24: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  commit  

24

•  Grava mudanças no repositório local

•  Armazena o conteúdo atual do índice em um novo commit, juntamente com uma mensagem de log do usuário que descreve as mudanças

Page 25: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  commit  

25

Exemplo  

Sintaxe  

git  commit  [<caminho>]  [<opções>]  

Page 26: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  commit  

26

Page 27: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  commit  

27

Page 28: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  push  

28

•  Atualiza o repositório remoto com as mudanças locais

Page 29: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  push  

29

Exemplo  

Sintaxe  

git  push  [<caminho_repositorio>]  [<opções>]  

Page 30: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  pull  

30

•  Incorpora as alterações de um repositório remoto no ramo (branch) atual

Page 31: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  pull  

31

Sintaxe  

git  pull  [<caminho_repositorio>]  [<opções>]  

Page 32: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  pull  

32

Exemplo  

Page 33: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  checkout  

33

•  Alterna entre ramos

•  Retorna arquivos ao estado de uma versão específica

•  Se nenhum parâmetro for especificado, retorna à versão do índice

•  Pode retornar para um commit ou tag

Page 34: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  checkout  

34

Exemplo  

Sintaxe  

git  checkout  <ramo>  

Page 35: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  checkout  

35

Sintaxe  

git  checkout  <caminho>  

Page 36: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  checkout  

36

Exemplo  

Page 37: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  reset  

37

•  Muda o ponteiro do HEAD para o estado especificado

Page 38: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  reset  

38

Sintaxe  

git  reset  [commit_id]  

Page 39: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  reset  

39

Exemplo  

Page 40: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comportamento  dos  comandos  Novos

commits locais

Novos commits remotos

Comando push Commando pull

Não Não Nenhuma ação Nenhuma ação

Não Sim Nenhuma ação Versão local substituída pela versão do repositório remoto

Sim Não Publica a versão local no repositório remoto

Nenhuma ação

Sim Sim Falha, avisando que o repositório local está desatualizado

Versão local combinada com a versão do repositório remoto

40

Page 41: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Ciclo  básico  de  trabalho  

41

Construção do espaço de trabalho

git clone git pull

git branch git checkout

Implementação

git add git rm git log

Verificação

git status git diff

git checkout git reset

Integração

git pull git commit git push

Page 42: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Etiquetas  e  Ramos  •  EIquetas  (tags)  

•  Ponteiros  para  snapshots  •  Uso  do  nome  da  eIqueta  no  lugar  do  hash  do  commit  

•  Ramos  (branches)  •  Também  são  ponteiros  para  snapshots  •  Ponteiro  se  move  independente  do  ponteiro  de  outros  ramos  

42

Page 43: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Junção  (fast-­‐foward)  

43

Fonte: http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging

Page 44: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Junção  (fast-­‐foward)  

44

Fonte: http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging

Page 45: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Junção  (three  way)  

45

Fonte: http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging

Page 46: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Junção  (three  way)  

46

Fonte: http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging

Page 47: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Junção  (three  way)  

47

Fonte: http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging

Page 48: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  branch  

48

•  Lista, cria ou deleta ramos

Page 49: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  branch  

49

Exemplo  

Sintaxe  

git  branch  [<opções>]  

Page 50: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  merge  

50

•  Mescla duas histórias de desenvolvimento

•  Incorpora alterações dos commits no ramo atual

Page 51: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  merge  

51

Sintaxe  

git  merge  [nome_do_ramo]  

Page 52: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  merge  

52

Exemplo  

Page 53: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  merge  

53

Exemplo  

Page 54: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Resolvendo  conSlitos  

54

Page 55: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Resolvendo  conSlitos  

55

Page 56: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Resolvendo  conSlitos  

56

Page 57: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Resolvendo  conSlitos  

57

Page 58: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  tag  

58

•  Lista, cria ou deleta etiquetas

Page 59: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  tag  

59

Exemplo  

Sintaxe  

git  tag  [<opções>]  <nome>  

Page 60: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  log  •  Fornece  um  relatório  sobre  as  versões  do  repositório  •  Por  arquivo  •  Por  commit  

•  Exibe,  para  cada  versão  •  IdenIficação  (hash  do  commit)  •  Quem  (autor)  •  Quando  (data)  •  Onde  (caminhos)  •  Como  (ação  nos  caminhos)  •  O  que  (mensagem)  •  Por  que  (número  da  solicitação  de  modificação)  

60

Page 61: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  log  

61

Sintaxe  

git  log  [<opções>]  [<intervalo  de  revisões>]  [[-­‐-­‐]  <caminho>…]  

Page 62: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  log  

62

Exemplo  

Page 63: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  log  

63

Exemplo  

Page 64: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  diff  

64

•  Mostra diferenças entre arquivos

•  Normalmente, usamos para ver diferenças entre a versão atual de um arquivo no repositório e o mesmo arquivo no espaço de trabalho

Page 65: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Comando  diff  

65

Exemplo  

Sintaxe  

git  diff  [<opções>]  

Page 66: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Ferramentas  úteis  

•  hpps://github.com/  

•  hpps://bitbucket.org/  

 

 

66

Page 67: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Ferramentas  úteis    •  hpp://www.sourcetreeapp.com/  

 •   Dyevc  

•  Plugins  em  IDEs  (Netbeans,  Eclipse  (EGit),  Rubymine)  

 67

Page 68: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Exercício  Apresente  as  principais  funcionalidades  do  GitHub  ou  Bitbucket  

 

68

Page 69: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Principais  Referências  •  hpp://git-­‐scm.com/  •  Jon  Loeliger  (2009).  “Version  Control  with  Git:  Powerful  tools  and  techniques  for  collaboraIve  soyware  development”,  O'Reilly  Media  

•  Slides  do  professor  Leonardo  Murta.  Disponíveis  em  hpp://www2.ic.uff.br/~leomurta/courses/2012.2/es2/aula5.pdf  

69

Page 70: Git$ - Universidade Federal Fluminenseleomurta/courses/2014.1/gps/git.pdf · 2020-02-03 · Características • Topologiadistribuída • Armazenamento&de&snapshots& • Facilidade&paratrabalhar&com&

Git  Bruno  de  Pinho  Sche.no  [email protected]