curso front-end - aula 002 - git

95

Upload: andrea-kelley-franklin-zambrana

Post on 26-Jan-2017

156 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Curso front-end - Aula 002 - Git
Page 2: Curso front-end - Aula 002 - Git

Curso front-endAula 002 - Git

Front Ladies ABC

Page 3: Curso front-end - Aula 002 - Git

Controle de versãoO que é?

Page 4: Curso front-end - Aula 002 - Git

Blz, mas para que serve?

Page 5: Curso front-end - Aula 002 - Git

Voltar e/ou recuperar

Page 6: Curso front-end - Aula 002 - Git

HistóriaLog

Page 7: Curso front-end - Aula 002 - Git

Comparação

Page 8: Curso front-end - Aula 002 - Git

A culpa é de quem?Brincadeira =P

Page 9: Curso front-end - Aula 002 - Git

Tá, mas e quais arquivos posso controlar?

Page 10: Curso front-end - Aula 002 - Git

Métodos para controle de versão

Page 11: Curso front-end - Aula 002 - Git

ctrl + c, ctrl + vCompressão (gzip, winrar, zip, etc)

Page 12: Curso front-end - Aula 002 - Git

#sqn

Page 13: Curso front-end - Aula 002 - Git
Page 14: Curso front-end - Aula 002 - Git
Page 15: Curso front-end - Aula 002 - Git
Page 16: Curso front-end - Aula 002 - Git

Não!

Page 17: Curso front-end - Aula 002 - Git

Sistemas de controle de versãoVCS (Version Controller System)

Page 18: Curso front-end - Aula 002 - Git

Local

Centralizado

Distribuido

Page 19: Curso front-end - Aula 002 - Git

Sistemas de controle de versão localLVCS (Local Version Control Systems)

Page 20: Curso front-end - Aula 002 - Git

Histórico de revisõesPatch database

Page 21: Curso front-end - Aula 002 - Git
Page 22: Curso front-end - Aula 002 - Git

RCSRevision Controller System

Page 23: Curso front-end - Aula 002 - Git
Page 24: Curso front-end - Aula 002 - Git

Sistemas de controle de versão centralizadosCVCS (Centralized Version Control System)

Page 25: Curso front-end - Aula 002 - Git
Page 26: Curso front-end - Aula 002 - Git

CVS

Subversion

Perforce

Page 27: Curso front-end - Aula 002 - Git

VantagensConhecimento sobre quem faz o queMaior controle sobre as alterações

Page 28: Curso front-end - Aula 002 - Git

Dependencia do servidorDesvantagem

Page 29: Curso front-end - Aula 002 - Git
Page 30: Curso front-end - Aula 002 - Git
Page 31: Curso front-end - Aula 002 - Git

Sistemas de controle de versão distribuídosDVCS (Distributed Version Control Systems)

Page 32: Curso front-end - Aula 002 - Git
Page 33: Curso front-end - Aula 002 - Git

Vantagens

Page 34: Curso front-end - Aula 002 - Git

Vários repositórios

Page 35: Curso front-end - Aula 002 - Git

Trabalho em conjunto

Page 36: Curso front-end - Aula 002 - Git

Trabalho paralelo

Page 37: Curso front-end - Aula 002 - Git

Vários workflows

Page 38: Curso front-end - Aula 002 - Git
Page 39: Curso front-end - Aula 002 - Git

História do git

Page 40: Curso front-end - Aula 002 - Git

“”

As with many great things in life, Git began with a bit of creative destruction and fiery controversy

A Short History of Git - Livro Pro Git

Page 41: Curso front-end - Aula 002 - Git

1991 2002 2005

Linha do tempo

Patches BitKeeper Git

Page 42: Curso front-end - Aula 002 - Git

Rápido

Page 43: Curso front-end - Aula 002 - Git

Design simples

Page 44: Curso front-end - Aula 002 - Git

Suporte robusto para desenvolvimento não linearMuitos branchs paralelos

Page 45: Curso front-end - Aula 002 - Git

100% distribuído

Page 46: Curso front-end - Aula 002 - Git

Consiga lidar com grandes projetos

Page 47: Curso front-end - Aula 002 - Git

TOP BAGARAI

Page 48: Curso front-end - Aula 002 - Git

GitO que é?

Page 49: Curso front-end - Aula 002 - Git

Sistema de controle de versão distribuído

Page 50: Curso front-end - Aula 002 - Git
Page 51: Curso front-end - Aula 002 - Git

Diferenciais

Page 52: Curso front-end - Aula 002 - Git

SnapshotsNão diffs

Page 53: Curso front-end - Aula 002 - Git
Page 54: Curso front-end - Aula 002 - Git
Page 55: Curso front-end - Aula 002 - Git

Operações locaisQuase todas

Page 56: Curso front-end - Aula 002 - Git

Ou seja...

Page 57: Curso front-end - Aula 002 - Git

Dá para trabalhar offline*___*

Page 58: Curso front-end - Aula 002 - Git

Questão de integridadeSHA-1 hash

Page 59: Curso front-end - Aula 002 - Git

24b9da6552252987aa493b52f8696cd6d3b00373

Page 60: Curso front-end - Aula 002 - Git
Page 61: Curso front-end - Aula 002 - Git

Geralmente só inclui dados

Page 62: Curso front-end - Aula 002 - Git

ReversívelPor que isso é importante?

Page 63: Curso front-end - Aula 002 - Git

Os três estados

Page 64: Curso front-end - Aula 002 - Git

Consolidadocommited

Page 65: Curso front-end - Aula 002 - Git

Modificadomodified

Page 66: Curso front-end - Aula 002 - Git

Preparadostaged

Page 67: Curso front-end - Aula 002 - Git
Page 68: Curso front-end - Aula 002 - Git

Diretório do Git.git directory ou repositorio

Page 69: Curso front-end - Aula 002 - Git

Diretório de trabalhoWorking directory

Page 70: Curso front-end - Aula 002 - Git

Área de preparaçãoStaging área

Page 71: Curso front-end - Aula 002 - Git
Page 72: Curso front-end - Aula 002 - Git

Bora brincar um pouco=P

Page 74: Curso front-end - Aula 002 - Git

Configuração do Git

Page 75: Curso front-end - Aula 002 - Git

gitconfig

Page 76: Curso front-end - Aula 002 - Git

/etc/gitconfig

C:\ProgramData\Git\config

--system

Configurações do sistema

Page 77: Curso front-end - Aula 002 - Git

--global

Configurações de cada usuário ~/.gitconfig

C:\Users\$USER

Page 78: Curso front-end - Aula 002 - Git

.git/configConfigurações

de cada projeto

Page 79: Curso front-end - Aula 002 - Git

Identidade

Page 80: Curso front-end - Aula 002 - Git

$ git config --global user.name "Nome

Sobrenome"

$ git config --global user.email

[email protected]

Page 81: Curso front-end - Aula 002 - Git

Editor padrão

Page 82: Curso front-end - Aula 002 - Git

$ git config --global core.editor vim

$ git config --global core.editor notepad

Page 83: Curso front-end - Aula 002 - Git

Vejamos como ficaram as configurações

Page 84: Curso front-end - Aula 002 - Git

$ git config --list

Page 85: Curso front-end - Aula 002 - Git

Algo super útil

Page 86: Curso front-end - Aula 002 - Git

$ git comando-qualquer --help

Page 87: Curso front-end - Aula 002 - Git

A tela preta!

Page 88: Curso front-end - Aula 002 - Git

Interfaces gráficashttps://git-scm.com/downloads/guis

Page 89: Curso front-end - Aula 002 - Git
Page 90: Curso front-end - Aula 002 - Git
Page 91: Curso front-end - Aula 002 - Git

Livro “Pro Git”Scott Chacon e Ben Straub

Original em inglês: https://git-scm.com/book/en/v2

Tradução de Eric Douglas: https://leanpub.com/pro-git

Material de apoio

Page 92: Curso front-end - Aula 002 - Git

Por hoje chega!Front Ladies ABC Aula 002

Page 95: Curso front-end - Aula 002 - Git

https://www.andrew.cmu.edu/course/98-174/lecturenotes/chapter1.html

https://en.wikipedia.org/wiki/Version_control

http://blog.appfusions.com/cvcs-vs-dvcs-and-the-pros-and-cons-of-dvcs-git/

http://www.sitepoint.com/version-control-software-2014-what-options/

Referências