SlideShare ist ein Scribd-Unternehmen logo
1 von 61
Downloaden Sie, um offline zu lesen
git that like a boss
ESCREVENDOCÓDIGO

COMPARTILHANDOCONHECIMENTO

@evandroeisinger
@helmedeiros
@rssilva
?
EM
U

Q

@evandroeisinger
?
EM
U

Q

@helmedeiros
?
EM
U

Q

@rssilva
o que é git ?
visão abrangente

instalando o git
ambiente configurado

git that like a boss
NOSSA AGENDA

comandos no git
trabalhando localmente

repositórios no git
trabalhando em time

repositórios no github
trabalhando online

HACKATHON
Git é um sistema de controle de versão
distribuído livre e de código aberto, projetado
para lidar com tudo, de pequenos a grandes
projetos, com velocidade e eficiência.

http://git-scm.com/
!=
git that like a boss

O QUE É GIT?

branching

offLine

distribuido

enxuto
de
er
az cê
l f vo
íve ue
ss q
po o
, é esm
in e , m
fl g
of in
ou mit
e m
e.
lin co
ed
r
on g,
o in
ma
ad erg
hu
us m
en
er g,
an
s in
do
de ch
ta
po ran
ec
it b
G o,
on
c
d steja
tu e
ão
n

f
f
o

e
in
L
ou
iar eja
nv , s
l e os
íve ot
ss em
po r
tra
é ios
ou
e
ed itór lquer
r s
ua epo qua
s r
a s
de
na tro
or ou
ou
t
re de
do
cê es
iza
al
vo çõ
tr
e a
en
qu rm
im nfo
oc
s i
ri
itó
As ar
os
a ix m rep
b u
ele soa.
es
p

D

IB
R
T
IS

O
ID
U
de e
ma te d
te en
sis ar
no nsp scla,
es tra
me
çõ o
ra nt
o,
e ju
p n
çã
o o
ria
s c
c
ua m
s u
ua
s
ta do
a
en in
ra
m uz
pa
da od
un pr
es .
f ,
it s
ad os
g e
ilid utr
O nch
ac o
f e
ra ões e ntr
b ç
,e
fun carte
es
d

R
B

G
IN
H
C
N
A
ps
n wcpro
.
.sv all|-- |-i es
ntr at
|
- e rm
|- fo
ase
|
- rop-b
|- p
|
ase
- rops se
|- p
n-b
|
-ba file.sv
|- text ke
|
|-- |-- Ra
|
|
fil e
|
ake
ops
|.. R ib
.
.rb ay.rb
.git efile
n wcpr
gle rr
|.. l |-- .sv all|-- Rak
rian d_a ec
t
-- ntries
|
|
|- ib
als_ rinte emsp
|
l
sc _p
- e rmat
|- fo
|
|-- -- pa tty
e .g
|
|
e riangl
r t
|-|
| -- p _
|
|
ls
|
|
sca
a
-- p
|

rio
tó
ire de
d
um ade
as b il id s e
en si
ap os
me
uí u p
no
s o
os e
de
it p dad nças
g i
, o ess
da
N c
u
V ne
m
S
o em
om
c
ed ,s
te
nt to
e je
en
tem pro tivam
en o
ga
fer iz d
i
D ra
ne
do
na afeta
er s.
s ta
as
p

N
E

O
T
U
X
git that like a boss

INSTALANDO O GIT

macosx

download

windows

git config
eu s
s e
em dad
do cali
iza lo
til is
o
u a
ra
al m
pa
on ou
ci a
ad
a
er um
n lo
op o
ow
ma stirã tas d
te xi
sis o e
fei
do alh erem
do rab a s
en e t
nd d
es it.
e e
çõ g
ep nt
D ie
ta do
b lemen to
a m mp
en
i
u ionam
o c
un
f

N
W
O
D

D
A
LO
DOWNLOAD
1. Acessar http://msysgit.github.io;
2. Selecionar a opção
Downloads;

Para o windows

Faça o download do instalador a
partir da pagina Google Code a baixo:
http://msysgit.github.io/

3. Selecionar a última versão
disponível;

4. Selecionar novamente
a versão previamente
escolhida para começar o
download.
DOWNLOAD
1. Acessar http://git-scm.com/download;
2. Escolha a opção para download Linux;

Para o linux

Você pode realizar o download e
instalação por gerenciadores de
pacotes como yum e apt-get, ou
instalar através do código fonte
baixado de:
http://git-scm.com/download

3. Escolha a opção indicada
para a sua distribuição.
DOWNLOAD
1. Acessar http://code.google.com/p/git-osxinstaller/;

Para o macOSX

Você pode realizar o download e
instalação por gerenciadores de
pacotes como homebrew, fink e
macports; assim como pode baixar o
instalador dmg diretamente de:
http://code.google.com/p/git-osxinstaller

2. Selecione a aba Dowloads no topo da
página;
3. Selecione a versão
mais atual compatível a
sua versão do macosx;
4. Selecionar
novamente a
versão previamente
escolhida para
começar o
download.
to s
oje a i
pr m
l. O ação
ci al
fá st
ito e in
u d
é m os
ws ent
do dim
in e
o W proc
tn s
Gi do
o m
do u
an tem
al it
st G
In s
sy
m il.
ác
f

W

D
IN

S
W
O
WINDOWS
Execute o instalador

Clique em avançar (Next) até chegar na
etapa seguinte
WINDOWS
Select Components

Marque a opção Simple context menu.
Feito isso, avance para próxima tela

Habilitando está opção, o Git Bash e o Git
GUI serão incorporados ao menu de
contexto do Windows, possibilitando
executar o comando “Git Bash Here” dentro
um diretório qualquer
WINDOWS
Select Start Menu Folder
deixe o caminho padrão e clique em
avançar (Next)
WINDOWS
Adjust your PATH

deixe marcado a opção Use Git Bash only
e prossiga com a instalação
WINDOWS
Configure the line ending
marque a primeira opção para quebras de
linha independente do sistema operacional
WINDOWS
Completing the git setup
instalação foi concluída com sucesso
x,
os
ac mo
m o
no s c
it te
o g aco
lar e p
ta d
ins res
de do
as cia
eir ren
an ge
m
k.
as lvem u Fin
um vo
o
lg en
a
rts
em pa is acPo
ist ci
Ex prin w, M
s eBre
a m
o
H

X
S
O
C
A
M
MACOSX
Instalando com Brew

Tendo o brew instalado você só precisa
fazer:
Se você ainda não usa homebrew para
gerenciar pacotes no Mac OS, então eu
recomendo instalá-lo.

➜ ~ brew install git
MACOSX
Onde foi instalado

Depois de instalado você deve conseguir
ver onde o mesmo foi instalado, rodando
o comando:

➜ ~ which git
/usr/bin/git
MACOSX
Qual versão instalada
Após instalado é possível conferir a
qualquer momento a versão do git.

➜ ~ git --version

git version 1.7.12.4 (Apple
Git-37)
IG
F
N

do
un
eg
s
o

it
og .
om ões
c ç
eta gura
rr fi
co on
a
rm a s c
fo r
de liza
ar rea
lh é
ba o
tra ass
ra p
Pa nde
gra

O
C
IT
G
GIT CONFIG
Adicionando config

Caso seu usuário e email não estejam
configurados, faça-o com o comando:
Na primeira vez quando não configurado o -list --global não possuí o .gitconfig na pasta
do usuário.

➜ ~ git config --global

user.name "Nome completo"

➜ ~ git config --global
user.email "Endereço de
Email"
git that like a boss

COMaNDOS NO GIT

tag

novo projeto

status
log

adicionando

comitando
R

DME
EA

R
IA
P

.md

N

O
C
O
V
O

P
E
R

IO
R
Ó
IT
S
O

Q
R
A

O
IV
U
D
EA ches
H n
ple
─ bra g
─
.samle
fi tion
g
├ ─ con ip
ms mp
├─ ─ descr s
ch- g.sa ple
─
k plypat -ms am ple
├ ─ hoo p
s
─
a
mit date. ch.sam e
├ ─ ─ om p
─ ─
c t-u ypat mpl
ple
├   ├ ─ os
 
p -appl mit.sa mple sg.sam
─
│   ├ ─ re
 
p -com se.sa it-m
─
│   ├ ─ re
 
p -reba comm
─
│   ├ ─ re
 
p pare- ample
─
│   ├ ─ re
 
p ate.s
─
│   ├ ─ pd
│    ├─ ─ u
e
 
─ fo
lud
│   └ in
 
exc
│ ─ ─ ts
├─  └─objec nfo
│  ─ ─ i ack
├─  ├─ ─ p
│    └─refs ds
hea s
│  ─
└─ ── tag
├ ─
└─

os
uiv no
rq it
e a t in
d i
rio ar g
etó cut
dir xe
um te e
de en
rio esm
itó pl
os sim
ep e
r d
um po
iar ocê
cr , v
ra te
Pa ten
is rio
ex tó
ire
d

N

O
V
O

P
E
R

IO
R
Ó
IT
S
O
NOVO REPOSITÓRIO
Os arquivos a versionar
Por exemplo, digamos que temos um
diretório com nosso arquivo nele, como:

➜
➜
➜
➜

~ mkdir likeaboss
~ cd likeaboss
~ touch README.md
likeaboss ls

README.md
NOVO REPOSITÓRIO
Criando o repositório

Para iniciar o controle de versão disso
com Git, podemos simplesmente
executar git init, como:

➜ ~ git init

Initialized empty Git
repository in /Users/
helmed/rbsdev/.git/
NOVO REPOSITÓRIO
Novo diretório

Após a criação o git define um
diretório para armazenamento de
versões

➜ ~ ls -la
.
README

..
.git
rbsdev.sh
ed
ck

tra
Un
ked
rac
t

to
en
am
ion do
rs na
ve mi
o er
be det
so m
os u
uiv em
rq as
sa m
s o dor
to ta
en pu
om om
m c
os seu ele?
uit o
m n
rá
m ão
se
E r
al
sta o, qu
e d
sta
e

S
U
T
A
T
S
STATUS
➜ gitlikeaboss git status

Conferindo o Estado
dos arquivos

Em muitos momentos os arquivos
sobe o versionamento estarão no
seu computador mas em um
determinado estado. Para descobrir
em que estado podemos usar o
comando status, veja:

# On branch master
#
# Initial commit
#
nothing to commit (create/copy files
and use "git add" to track)

➜ gitlikeaboss git status
# On branch master
#
# Initial commit
#
# Untracked files:
#
(use "git add <file>..." to
include in what will be committed)
#
#	 README.md
nothing added to commit but
untracked files present (use "git
add" to track)
NOVO REPOSITÓRIO
modified

unmodified

Untracked

staged

adicionado arquivo
alterado arquivo
colocou arquivo no stage

README.md

README.md

README.md

removido arquivo
commit

README.md
ed
ck

tra
Un
ked
rac
t

o
be nte o
so me
os m
os
iv e
ad
qu re
a r mp
tre
m se
as
r
co er
ão
o
nd ue t de n
lha s q
do
ba o
ra tem
an
t
ss
s it,
o g
pa
am do
t
os
es to
sm
do en
me
an am
u n
os
d
Q io
s e vida os.
er d
v o
ad
l
re
cic a rast
ar
p

A
N
IO
IC
D
A

O
D
N
ADICIONANDO
Rastreando
Arquivos

Para iniciar o rastreamento de um
novo arquivo, você deve usar o
comando add. Veja:

➜ gitlikeaboss git add
README.md
➜ gitlikeaboss git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#
(use "git rm --cached <file>..."
to unstage)
#
#	 new file:
README.md
ADICIONANDO
➜ gitlikeaboss git add .
➜ gitlikeaboss git status

Várias formas de adição
Para adicionar arquivos em um commit,
é necessário executar um comando que
insira ele no commit:

# On branch master
#
# Initial commit
#
# Changes to be committed:
#
(use "git rm --cached <file>..."
to unstage)
#
#	 new file:
README.md

➜ gitlikeaboss touch
a.txt
➜ gitlikeaboss git add
*.txt
➜ gitlikeaboss git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#
(use "git rm --cached <file>..."
to unstage)
#
#	 new file:
a.txt
#
# Untracked files:
#
(use "git add <file>..." to
include in what will be committed)
#
#	 README.md
d

e
ck
a

ntr
U

tr

ged
sta

d

e
ck
a

as it.
ad m
liz om
ea c
r o
es ar
çõ liz
ra ea
lte o r
a ri
as sá
ar ces
en ne
az é
rm git
a
r e do
a o
irm óric
nf ist
co h
ra e o
Pa nt
ra
pe

O
C

A
IT
M

O
D
N
COMITANDO
Descrevendo o commit

Após a adição dos arquivos no commit
é possível executar o commit

➜ likeaboss git commit
-m "Descrição do commit"

[master (root-commit)
edc6bb2] Descrição do commit
0 files changed
create mode 100644 README.md
d

e
ck
a

ntr
U

d

tr

e
ck
a

a
20

b1

c1

1
06

29

2a

m>
80
co
3a
b0 os ail. 2013
it
d5 ir gm
7
mm
73
co
b0 Mede ros@ 28:3
7
4a io dei 12:
e
46 Hel lme 20
43
3d or: abra Oct
f h
c
t
Au lio. Sun
e
<h e:
t
Da 200
o
-0
it
Fe

irá
te
en
elm
av
ov
pr
ê

ged
sta

G
O
L

oc
,v
its
m

om
c
ios eu.
ár ec
v t
de con
ois e a
ep qu
D o
er
v

er
er
qu
LOG
O Histórico de commits
Após um commit mais um registro é
criado no histórico. Por padrão, sem
argumentos, git log lista os commits
feitos naquele repositório em ordem
cronológica reversa.

➜ likeaboss git log

commit
e1cf3d4346e4a7b073d5b03a8020a
b1c1061292a
Author: Helio Medeiros
<helio.cabralmedeiros@gmail.c
om>
Date:
Sun Oct 20 12:28:37
2013 -0200
Feito
2.0

.0
1

os
nt
po
ar
alv io,
e s itór
e d os
ad rep
l id
na um
cio de
un ia
f r
i a istó
su h
os na
t p os
Gi ic
O cíf
pe
es

G
A
T
TAG
Criando TAGS

Normalmente se segue o padrão v0.0.0
para a criação de tags, pois facilita a
procura de tags específicas que são
feitas de forma decrescente e alfabética.

➜ likeaboss git tag -a
v1.0 -m "Introducao"
TAG
Listando as TAGS

Para visualizar as tags existentes no
repositório, basta executar o comando

➜ likeaboss git tag
v1.0
TAG
Alternando entre tags

Em muitos casos desejamos alternar
entre versões para entender desde que
oque foi feito até recuperar uma versão
estável para promoção de bugs. Para
isso:

➜ likeaboss git tag
checkout v1.0
git that like a boss

BRANCHING NO GIT

removendo

o que são branchs

novo branch

conflitos
er
ast
M

o,
jet
ro t é
p
do o Gi
iro o n
te rã
n d
s,
õe
po pa
aç
m h
u
fic
te ranc rami
en b
sm . O rsas lo.
ple vos
im u i
ive arale
s q
d p
é ar
it s
em do
G o
rg n
su mu
no os
ch tod deste m
an m
br té
ir . É u
rt es
m on
U c
pa ch
e ter, a ran
qu as
b
m ários
o v
to
is

R
B

H
C
N
A
NOVO BRANCH
Um novo branch

Branch Based

Em alguns momentos desejamos
desenvolver novas funcionalidades, sejam
para testar hipóteses ou apenas
memorizar uma possível ideia. Nestas
horas o branch nos ajuda.

➜ likeaboss git
branch novafuncionalidade
➜ likeaboss git
branch
* master
nova-funcionalidade

Selecionando o branch

➜ likeaboss git checkout
nova-funcionalidade
Switched to branch 'novafuncionalidade'
Diferença
➜ gitlikeboss ls

Master intocado

Perceba que se você fizer checkout
neste momento voltando para o branch
master, não deverá estar presente
nenhum resquício das alterações que
acabamos de executar dentro do branch
nova-funcionalidade:

.gitignore
1/1a.txt
README
mnb.sh
oba.sh
rbsdev.sh
senha.sh

➜ gitlikeboss git
checkout master
Switched to branch 'master'

➜ gitlikeboss git lsfiles
.gitignore
1/1a.txt
README
oba.sh
rbsdev.sh
senha.sh
Alterando
Fazendo nossas
alterações

Agora é hora de fazermos as alterações
que desejamos.

➜ gitlikeaboss touch
CHANGE.md
➜ gitlikeaboss git add .
➜ gitlikeaboss git commit
-m “Novo arquivo”
visualizando
Visualizando as
diferenças

Perceba que se você fizer novamente
checkout, voltando para o branch master,
havera alterações que acabamos de
executar dentro do branch novafuncionalidade:

➜ gitlikeboss ls
README.md
CHANGE.md

➜ gitlikeboss git
checkout master
Switched to branch 'master'

➜ gitlikeboss ls
README.md
CHANGE.md
merge
Mesclando as alterações
Após a conclusão de uma tarefa é
possível integrá-la a linha de
desenvolvimento central. Para fazer isso,
você fará o merge do seu branch. Tudo
que você tem a fazer é executar o
checkout do branch para onde deseja
fazer o merge e então rodar o comando
git merge.

➜ gitlikeboss git
checkout master
Switched to branch 'master'

➜ gitlikeboss git merge
nova-funcionalidade
➜ gitlikeboss ls
README.md
CHANGE.md
removendo
➜ gitlikeboss git branch
master
* nova-funcionalidade

Removendo

Após a conclusão do desenvolvimento de
uma nova funcionalidade e sua integração
ao master é interessante a remoção dos
branches, mantendo o ambiente limpo.

➜ gitlikeboss git branch
--delete novafuncionalidade

error: Cannot delete the branch 'novafuncionalidade' which you are currently
on.

➜ gitlikeboss git
checkout
master

Switched to branch 'master'

➜ gitlikeboss git branch
--delete novafuncionalidade
Deleted branch teste (was 27478a1).
COnflitos
Merge com conflitos

Em alguns momentos o git não
conseguirá apresentar uma solução para
os conflitos gerados entre as várias
versões. Os conflitos podem acontecer
durante os merges e commits. Sempre
que um conflito acontece a ação
executada fica incompleta até que os
mesmos estejam resolvidos.

➜ gitlikeboss git merge
novo-conflito
Auto-merging arquivo.txt
CONFLICT (content): Merge conflict
in README.md
Automatic merge failed; fix
conflicts and then commit the
result.

➜ gitlikeboss git commit
-m “Conflito resolvido”
Fontes:
Pro Git - Scott Chacon

Obrigado!
@evandroeisinger
@helmedeiros
@rssilva

http://try.github.io
http://nathanj.github.io
http://gitready.com/
Imagens:
http://git-scm.com/
Git that like a boss

Weitere ähnliche Inhalte

Was ist angesagt?

Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com GitVagner Santana
 
Introdução ao Git - Semac 2016
Introdução ao Git - Semac 2016Introdução ao Git - Semac 2016
Introdução ao Git - Semac 2016Victor Souza
 
Git e git hub para iniciantes
Git e git hub para iniciantesGit e git hub para iniciantes
Git e git hub para iniciantesMario Ernesto
 
Introdução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySPIntrodução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySPSamuel Sampaio
 
Git e Github para Iniciantes by Alysson Ajackson
Git e Github para Iniciantes by Alysson AjacksonGit e Github para Iniciantes by Alysson Ajackson
Git e Github para Iniciantes by Alysson AjacksonAlysson Ajackson
 
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowControle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowLucas Araújo Mezêncio
 
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTW
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTWDesvendando Git e Github - WoMakersCode Bootcamp @ SPTW
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTWMorganna Giovanelli de Souza
 
Seis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioSeis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioMarcos Antônio de Souza Silva
 
Workshop sistema de versionamento de código - git
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - gitThiago Filadelfo
 
Introdução ao GitHub e Git
Introdução ao GitHub  e GitIntrodução ao GitHub  e Git
Introdução ao GitHub e GitIgor Steinmacher
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoWilliam Lima
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucketMarcio Barbosa
 

Was ist angesagt? (20)

Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com Git
 
Git e GitHub - Conceitos Básicos
Git e GitHub - Conceitos BásicosGit e GitHub - Conceitos Básicos
Git e GitHub - Conceitos Básicos
 
Introdução ao Git - Semac 2016
Introdução ao Git - Semac 2016Introdução ao Git - Semac 2016
Introdução ao Git - Semac 2016
 
Git e git hub para iniciantes
Git e git hub para iniciantesGit e git hub para iniciantes
Git e git hub para iniciantes
 
Introdução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySPIntrodução ao Git - fs2w - GrupySP
Introdução ao Git - fs2w - GrupySP
 
Python e Golang - Parte 1
Python e Golang - Parte 1Python e Golang - Parte 1
Python e Golang - Parte 1
 
Git e Github para Iniciantes by Alysson Ajackson
Git e Github para Iniciantes by Alysson AjacksonGit e Github para Iniciantes by Alysson Ajackson
Git e Github para Iniciantes by Alysson Ajackson
 
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git FlowControle de Versão com Git e como Otimizar seu Workflow com Git Flow
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
 
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTW
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTWDesvendando Git e Github - WoMakersCode Bootcamp @ SPTW
Desvendando Git e Github - WoMakersCode Bootcamp @ SPTW
 
Git e Github
Git e GithubGit e Github
Git e Github
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Git Rápido e Fácil
Git Rápido e FácilGit Rápido e Fácil
Git Rápido e Fácil
 
Sendo um GIT master
Sendo um GIT masterSendo um GIT master
Sendo um GIT master
 
Seis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprioSeis passos para colocar um projeto local em um servidor próprio
Seis passos para colocar um projeto local em um servidor próprio
 
Workshop sistema de versionamento de código - git
Workshop  sistema de versionamento de código - gitWorkshop  sistema de versionamento de código - git
Workshop sistema de versionamento de código - git
 
Introdução ao GitHub e Git
Introdução ao GitHub  e GitIntrodução ao GitHub  e Git
Introdução ao GitHub e Git
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotado
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucket
 
Git+github
Git+githubGit+github
Git+github
 
Controle de versão e colaboração com Git
Controle de versão e colaboração com GitControle de versão e colaboração com Git
Controle de versão e colaboração com Git
 

Ähnlich wie Git that like a boss

Git that like a boss: Grupo RBS
Git that like a boss: Grupo RBSGit that like a boss: Grupo RBS
Git that like a boss: Grupo RBSEvandro Eisinger
 
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em pazViajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em pazFlávio Lisboa
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com GitRaphael Cruzeiro
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilTiago Antônio da Silva
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareAldson Diego
 
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPressFerramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPressTiago Hillebrandt
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesLeandro Cavalcante
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET ComputaçãoBruno Orlandi
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoMario Chaves
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta gitDiogo Souza Machado
 

Ähnlich wie Git that like a boss (20)

Git that like a boss: Grupo RBS
Git that like a boss: Grupo RBSGit that like a boss: Grupo RBS
Git that like a boss: Grupo RBS
 
Controle de versão com Git
Controle de versão com GitControle de versão com Git
Controle de versão com Git
 
Git
GitGit
Git
 
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em pazViajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código Fácil
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de Software
 
Ferramentas para versionamento Utilizando git
Ferramentas para versionamento Utilizando gitFerramentas para versionamento Utilizando git
Ferramentas para versionamento Utilizando git
 
Git flow no projeto
Git flow no projetoGit flow no projeto
Git flow no projeto
 
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPressFerramentas Essenciais para Desenvolvedores de Plugins WordPress
Ferramentas Essenciais para Desenvolvedores de Plugins WordPress
 
Git do Zero - Campus Party #12
Git do Zero - Campus Party #12Git do Zero - Campus Party #12
Git do Zero - Campus Party #12
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de Versões
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
 
Git
GitGit
Git
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em django
 
Compilando o Android 5 para o Nexus 5
Compilando o Android 5 para o Nexus 5Compilando o Android 5 para o Nexus 5
Compilando o Android 5 para o Nexus 5
 
Git e github
Git e githubGit e github
Git e github
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Git & Delphi
Git & DelphiGit & Delphi
Git & Delphi
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
 

Mehr von Hélio Medeiros

Team building - Workshop - ThoughtWorks Away Day 2018
Team building - Workshop - ThoughtWorks Away Day 2018Team building - Workshop - ThoughtWorks Away Day 2018
Team building - Workshop - ThoughtWorks Away Day 2018Hélio Medeiros
 
Team building praticas e atividades
Team building   praticas e atividadesTeam building   praticas e atividades
Team building praticas e atividadesHélio Medeiros
 
Historias, hipoteses e metricas aprendendo no dia a dia
Historias, hipoteses e metricas   aprendendo no dia a diaHistorias, hipoteses e metricas   aprendendo no dia a dia
Historias, hipoteses e metricas aprendendo no dia a diaHélio Medeiros
 
Team building - Software depende de relacionamento
Team building  - Software depende de relacionamentoTeam building  - Software depende de relacionamento
Team building - Software depende de relacionamentoHélio Medeiros
 
Continuidade de times - quando os relacionamentos contam?
Continuidade de times - quando os relacionamentos contam?Continuidade de times - quando os relacionamentos contam?
Continuidade de times - quando os relacionamentos contam?Hélio Medeiros
 
Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...
Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...
Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...Hélio Medeiros
 
Faça Frameworks, Não faça refens
Faça Frameworks, Não faça refensFaça Frameworks, Não faça refens
Faça Frameworks, Não faça refensHélio Medeiros
 
Feature injection - descobrindo e entregando valor testável
Feature injection - descobrindo e entregando valor testávelFeature injection - descobrindo e entregando valor testável
Feature injection - descobrindo e entregando valor testávelHélio Medeiros
 
Growth hacking - customer lifecycle na pratica
Growth hacking - customer lifecycle na praticaGrowth hacking - customer lifecycle na pratica
Growth hacking - customer lifecycle na praticaHélio Medeiros
 
Tdc growth hacking-customer lifecycle na pratica
Tdc   growth hacking-customer lifecycle na praticaTdc   growth hacking-customer lifecycle na pratica
Tdc growth hacking-customer lifecycle na praticaHélio Medeiros
 
A Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-services
A Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-servicesA Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-services
A Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-servicesHélio Medeiros
 
Feature Injection - Descobrindo e entregando valor testável
Feature Injection - Descobrindo e entregando valor testávelFeature Injection - Descobrindo e entregando valor testável
Feature Injection - Descobrindo e entregando valor testávelHélio Medeiros
 
Um desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLIDUm desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLIDHélio Medeiros
 
RBS QCon São Paulo 2014 REVIEW
RBS QCon São Paulo 2014 REVIEWRBS QCon São Paulo 2014 REVIEW
RBS QCon São Paulo 2014 REVIEWHélio Medeiros
 
RBS Agile Brazil Review - Managing dojo
RBS Agile Brazil Review - Managing dojoRBS Agile Brazil Review - Managing dojo
RBS Agile Brazil Review - Managing dojoHélio Medeiros
 
RBS Agile Brazil 2013 Review - HotSpot
RBS Agile Brazil 2013 Review - HotSpotRBS Agile Brazil 2013 Review - HotSpot
RBS Agile Brazil 2013 Review - HotSpotHélio Medeiros
 
Agile brazil 2013 - Laboratório Experimental refinando ideias e lançando prod...
Agile brazil 2013 - Laboratório Experimental refinando ideias e lançando prod...Agile brazil 2013 - Laboratório Experimental refinando ideias e lançando prod...
Agile brazil 2013 - Laboratório Experimental refinando ideias e lançando prod...Hélio Medeiros
 
Agile Brazil 2013 - Sucesso na medida certa – métricas de vaidade
Agile Brazil 2013 - Sucesso na medida certa – métricas de vaidadeAgile Brazil 2013 - Sucesso na medida certa – métricas de vaidade
Agile Brazil 2013 - Sucesso na medida certa – métricas de vaidadeHélio Medeiros
 
Cache em serviços rest com java (jax-rs)
Cache em serviços rest com java (jax-rs)Cache em serviços rest com java (jax-rs)
Cache em serviços rest com java (jax-rs)Hélio Medeiros
 
Ideias em produção - métricas de vaidade não são para piratas
Ideias em produção - métricas de vaidade não são para piratasIdeias em produção - métricas de vaidade não são para piratas
Ideias em produção - métricas de vaidade não são para piratasHélio Medeiros
 

Mehr von Hélio Medeiros (20)

Team building - Workshop - ThoughtWorks Away Day 2018
Team building - Workshop - ThoughtWorks Away Day 2018Team building - Workshop - ThoughtWorks Away Day 2018
Team building - Workshop - ThoughtWorks Away Day 2018
 
Team building praticas e atividades
Team building   praticas e atividadesTeam building   praticas e atividades
Team building praticas e atividades
 
Historias, hipoteses e metricas aprendendo no dia a dia
Historias, hipoteses e metricas   aprendendo no dia a diaHistorias, hipoteses e metricas   aprendendo no dia a dia
Historias, hipoteses e metricas aprendendo no dia a dia
 
Team building - Software depende de relacionamento
Team building  - Software depende de relacionamentoTeam building  - Software depende de relacionamento
Team building - Software depende de relacionamento
 
Continuidade de times - quando os relacionamentos contam?
Continuidade de times - quando os relacionamentos contam?Continuidade de times - quando os relacionamentos contam?
Continuidade de times - quando os relacionamentos contam?
 
Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...
Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...
Historias sao suposicoes: build:measure:learn no kanban e livro de possibilid...
 
Faça Frameworks, Não faça refens
Faça Frameworks, Não faça refensFaça Frameworks, Não faça refens
Faça Frameworks, Não faça refens
 
Feature injection - descobrindo e entregando valor testável
Feature injection - descobrindo e entregando valor testávelFeature injection - descobrindo e entregando valor testável
Feature injection - descobrindo e entregando valor testável
 
Growth hacking - customer lifecycle na pratica
Growth hacking - customer lifecycle na praticaGrowth hacking - customer lifecycle na pratica
Growth hacking - customer lifecycle na pratica
 
Tdc growth hacking-customer lifecycle na pratica
Tdc   growth hacking-customer lifecycle na praticaTdc   growth hacking-customer lifecycle na pratica
Tdc growth hacking-customer lifecycle na pratica
 
A Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-services
A Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-servicesA Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-services
A Jornada de um desenvolvedor de Princípios SOLID em um mundo de micro-services
 
Feature Injection - Descobrindo e entregando valor testável
Feature Injection - Descobrindo e entregando valor testávelFeature Injection - Descobrindo e entregando valor testável
Feature Injection - Descobrindo e entregando valor testável
 
Um desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLIDUm desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLID
 
RBS QCon São Paulo 2014 REVIEW
RBS QCon São Paulo 2014 REVIEWRBS QCon São Paulo 2014 REVIEW
RBS QCon São Paulo 2014 REVIEW
 
RBS Agile Brazil Review - Managing dojo
RBS Agile Brazil Review - Managing dojoRBS Agile Brazil Review - Managing dojo
RBS Agile Brazil Review - Managing dojo
 
RBS Agile Brazil 2013 Review - HotSpot
RBS Agile Brazil 2013 Review - HotSpotRBS Agile Brazil 2013 Review - HotSpot
RBS Agile Brazil 2013 Review - HotSpot
 
Agile brazil 2013 - Laboratório Experimental refinando ideias e lançando prod...
Agile brazil 2013 - Laboratório Experimental refinando ideias e lançando prod...Agile brazil 2013 - Laboratório Experimental refinando ideias e lançando prod...
Agile brazil 2013 - Laboratório Experimental refinando ideias e lançando prod...
 
Agile Brazil 2013 - Sucesso na medida certa – métricas de vaidade
Agile Brazil 2013 - Sucesso na medida certa – métricas de vaidadeAgile Brazil 2013 - Sucesso na medida certa – métricas de vaidade
Agile Brazil 2013 - Sucesso na medida certa – métricas de vaidade
 
Cache em serviços rest com java (jax-rs)
Cache em serviços rest com java (jax-rs)Cache em serviços rest com java (jax-rs)
Cache em serviços rest com java (jax-rs)
 
Ideias em produção - métricas de vaidade não são para piratas
Ideias em produção - métricas de vaidade não são para piratasIdeias em produção - métricas de vaidade não são para piratas
Ideias em produção - métricas de vaidade não são para piratas
 

Git that like a boss

  • 1. git that like a boss ESCREVENDOCÓDIGO COMPARTILHANDOCONHECIMENTO @evandroeisinger @helmedeiros @rssilva
  • 5. o que é git ? visão abrangente instalando o git ambiente configurado git that like a boss NOSSA AGENDA comandos no git trabalhando localmente repositórios no git trabalhando em time repositórios no github trabalhando online HACKATHON
  • 6. Git é um sistema de controle de versão distribuído livre e de código aberto, projetado para lidar com tudo, de pequenos a grandes projetos, com velocidade e eficiência. http://git-scm.com/
  • 7. !=
  • 8. git that like a boss O QUE É GIT? branching offLine distribuido enxuto
  • 9. de er az cê l f vo íve ue ss q po o , é esm in e , m fl g of in ou mit e m e. lin co ed r on g, o in ma ad erg hu us m en er g, an s in do de ch ta po ran ec it b G o, on c d steja tu e ão n f f o e in L
  • 10. ou iar eja nv , s l e os íve ot ss em po r tra é ios ou e ed itór lquer r s ua epo qua s r a s de na tro or ou ou t re de do cê es iza al vo çõ tr e a en qu rm im nfo oc s i ri itó As ar os a ix m rep b u ele soa. es p D IB R T IS O ID U
  • 11. de e ma te d te en sis ar no nsp scla, es tra me çõ o ra nt o, e ju p n çã o o ria s c c ua m s u ua s ta do a en in ra m uz pa da od un pr es . f , it s ad os g e ilid utr O nch ac o f e ra ões e ntr b ç ,e fun carte es d R B G IN H C N A
  • 12. ps n wcpro . .sv all|-- |-i es ntr at | - e rm |- fo ase | - rop-b |- p | ase - rops se |- p n-b | -ba file.sv |- text ke | |-- |-- Ra | | fil e | ake ops |.. R ib . .rb ay.rb .git efile n wcpr gle rr |.. l |-- .sv all|-- Rak rian d_a ec t -- ntries | | |- ib als_ rinte emsp | l sc _p - e rmat |- fo | |-- -- pa tty e .g | | e riangl r t |-| | -- p _ | | ls | | sca a -- p | rio tó ire de d um ade as b il id s e en si ap os me uí u p no s o os e de it p dad nças g i , o ess da N c u V ne m S o em om c ed ,s te nt to e je en tem pro tivam en o ga fer iz d i D ra ne do na afeta er s. s ta as p N E O T U X
  • 13. git that like a boss INSTALANDO O GIT macosx download windows git config
  • 14. eu s s e em dad do cali iza lo til is o u a ra al m pa on ou ci a ad a er um n lo op o ow ma stirã tas d te xi sis o e fei do alh erem do rab a s en e t nd d es it. e e çõ g ep nt D ie ta do b lemen to a m mp en i u ionam o c un f N W O D D A LO
  • 15. DOWNLOAD 1. Acessar http://msysgit.github.io; 2. Selecionar a opção Downloads; Para o windows Faça o download do instalador a partir da pagina Google Code a baixo: http://msysgit.github.io/ 3. Selecionar a última versão disponível; 4. Selecionar novamente a versão previamente escolhida para começar o download.
  • 16. DOWNLOAD 1. Acessar http://git-scm.com/download; 2. Escolha a opção para download Linux; Para o linux Você pode realizar o download e instalação por gerenciadores de pacotes como yum e apt-get, ou instalar através do código fonte baixado de: http://git-scm.com/download 3. Escolha a opção indicada para a sua distribuição.
  • 17. DOWNLOAD 1. Acessar http://code.google.com/p/git-osxinstaller/; Para o macOSX Você pode realizar o download e instalação por gerenciadores de pacotes como homebrew, fink e macports; assim como pode baixar o instalador dmg diretamente de: http://code.google.com/p/git-osxinstaller 2. Selecione a aba Dowloads no topo da página; 3. Selecione a versão mais atual compatível a sua versão do macosx; 4. Selecionar novamente a versão previamente escolhida para começar o download.
  • 18. to s oje a i pr m l. O ação ci al fá st ito e in u d é m os ws ent do dim in e o W proc tn s Gi do o m do u an tem al it st G In s sy m il. ác f W D IN S W O
  • 19. WINDOWS Execute o instalador Clique em avançar (Next) até chegar na etapa seguinte
  • 20. WINDOWS Select Components Marque a opção Simple context menu. Feito isso, avance para próxima tela Habilitando está opção, o Git Bash e o Git GUI serão incorporados ao menu de contexto do Windows, possibilitando executar o comando “Git Bash Here” dentro um diretório qualquer
  • 21. WINDOWS Select Start Menu Folder deixe o caminho padrão e clique em avançar (Next)
  • 22. WINDOWS Adjust your PATH deixe marcado a opção Use Git Bash only e prossiga com a instalação
  • 23. WINDOWS Configure the line ending marque a primeira opção para quebras de linha independente do sistema operacional
  • 24. WINDOWS Completing the git setup instalação foi concluída com sucesso
  • 25. x, os ac mo m o no s c it te o g aco lar e p ta d ins res de do as cia eir ren an ge m k. as lvem u Fin um vo o lg en a rts em pa is acPo ist ci Ex prin w, M s eBre a m o H X S O C A M
  • 26. MACOSX Instalando com Brew Tendo o brew instalado você só precisa fazer: Se você ainda não usa homebrew para gerenciar pacotes no Mac OS, então eu recomendo instalá-lo. ➜ ~ brew install git
  • 27. MACOSX Onde foi instalado Depois de instalado você deve conseguir ver onde o mesmo foi instalado, rodando o comando: ➜ ~ which git /usr/bin/git
  • 28. MACOSX Qual versão instalada Após instalado é possível conferir a qualquer momento a versão do git. ➜ ~ git --version git version 1.7.12.4 (Apple Git-37)
  • 29. IG F N do un eg s o it og . om ões c ç eta gura rr fi co on a rm a s c fo r de liza ar rea lh é ba o tra ass ra p Pa nde gra O C IT G
  • 30. GIT CONFIG Adicionando config Caso seu usuário e email não estejam configurados, faça-o com o comando: Na primeira vez quando não configurado o -list --global não possuí o .gitconfig na pasta do usuário. ➜ ~ git config --global user.name "Nome completo" ➜ ~ git config --global user.email "Endereço de Email"
  • 31. git that like a boss COMaNDOS NO GIT tag novo projeto status log adicionando comitando
  • 33. D EA ches H n ple ─ bra g ─ .samle fi tion g ├ ─ con ip ms mp ├─ ─ descr s ch- g.sa ple ─ k plypat -ms am ple ├ ─ hoo p s ─ a mit date. ch.sam e ├ ─ ─ om p ─ ─ c t-u ypat mpl ple ├   ├ ─ os   p -appl mit.sa mple sg.sam ─ │   ├ ─ re   p -com se.sa it-m ─ │   ├ ─ re   p -reba comm ─ │   ├ ─ re   p pare- ample ─ │   ├ ─ re   p ate.s ─ │   ├ ─ pd │    ├─ ─ u e   ─ fo lud │   └ in   exc │ ─ ─ ts ├─  └─objec nfo │  ─ ─ i ack ├─  ├─ ─ p │    └─refs ds hea s │  ─ └─ ── tag ├ ─ └─ os uiv no rq it e a t in d i rio ar g etó cut dir xe um te e de en rio esm itó pl os sim ep e r d um po iar ocê cr , v ra te Pa ten is rio ex tó ire d N O V O P E R IO R Ó IT S O
  • 34. NOVO REPOSITÓRIO Os arquivos a versionar Por exemplo, digamos que temos um diretório com nosso arquivo nele, como: ➜ ➜ ➜ ➜ ~ mkdir likeaboss ~ cd likeaboss ~ touch README.md likeaboss ls README.md
  • 35. NOVO REPOSITÓRIO Criando o repositório Para iniciar o controle de versão disso com Git, podemos simplesmente executar git init, como: ➜ ~ git init Initialized empty Git repository in /Users/ helmed/rbsdev/.git/
  • 36. NOVO REPOSITÓRIO Novo diretório Após a criação o git define um diretório para armazenamento de versões ➜ ~ ls -la . README .. .git rbsdev.sh
  • 37. ed ck tra Un ked rac t to en am ion do rs na ve mi o er be det so m os u uiv em rq as sa m s o dor to ta en pu om om m c os seu ele? uit o m n rá m ão se E r al sta o, qu e d sta e S U T A T S
  • 38. STATUS ➜ gitlikeaboss git status Conferindo o Estado dos arquivos Em muitos momentos os arquivos sobe o versionamento estarão no seu computador mas em um determinado estado. Para descobrir em que estado podemos usar o comando status, veja: # On branch master # # Initial commit # nothing to commit (create/copy files and use "git add" to track) ➜ gitlikeaboss git status # On branch master # # Initial commit # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # README.md nothing added to commit but untracked files present (use "git add" to track)
  • 39. NOVO REPOSITÓRIO modified unmodified Untracked staged adicionado arquivo alterado arquivo colocou arquivo no stage README.md README.md README.md removido arquivo commit README.md
  • 40. ed ck tra Un ked rac t o be nte o so me os m os iv e ad qu re a r mp tre m se as r co er ão o nd ue t de n lha s q do ba o ra tem an t ss s it, o g pa am do t os es to sm do en me an am u n os d Q io s e vida os. er d v o ad l re cic a rast ar p A N IO IC D A O D N
  • 41. ADICIONANDO Rastreando Arquivos Para iniciar o rastreamento de um novo arquivo, você deve usar o comando add. Veja: ➜ gitlikeaboss git add README.md ➜ gitlikeaboss git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: README.md
  • 42. ADICIONANDO ➜ gitlikeaboss git add . ➜ gitlikeaboss git status Várias formas de adição Para adicionar arquivos em um commit, é necessário executar um comando que insira ele no commit: # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: README.md ➜ gitlikeaboss touch a.txt ➜ gitlikeaboss git add *.txt ➜ gitlikeaboss git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: a.txt # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # README.md
  • 43. d e ck a ntr U tr ged sta d e ck a as it. ad m liz om ea c r o es ar çõ liz ra ea lte o r a ri as sá ar ces en ne az é rm git a r e do a o irm óric nf ist co h ra e o Pa nt ra pe O C A IT M O D N
  • 44. COMITANDO Descrevendo o commit Após a adição dos arquivos no commit é possível executar o commit ➜ likeaboss git commit -m "Descrição do commit" [master (root-commit) edc6bb2] Descrição do commit 0 files changed create mode 100644 README.md
  • 45. d e ck a ntr U d tr e ck a a 20 b1 c1 1 06 29 2a m> 80 co 3a b0 os ail. 2013 it d5 ir gm 7 mm 73 co b0 Mede ros@ 28:3 7 4a io dei 12: e 46 Hel lme 20 43 3d or: abra Oct f h c t Au lio. Sun e <h e: t Da 200 o -0 it Fe irá te en elm av ov pr ê ged sta G O L oc ,v its m om c ios eu. ár ec v t de con ois e a ep qu D o er v er er qu
  • 46. LOG O Histórico de commits Após um commit mais um registro é criado no histórico. Por padrão, sem argumentos, git log lista os commits feitos naquele repositório em ordem cronológica reversa. ➜ likeaboss git log commit e1cf3d4346e4a7b073d5b03a8020a b1c1061292a Author: Helio Medeiros <helio.cabralmedeiros@gmail.c om> Date: Sun Oct 20 12:28:37 2013 -0200 Feito
  • 47. 2.0 .0 1 os nt po ar alv io, e s itór e d os ad rep l id na um cio de un ia f r i a istó su h os na t p os Gi ic O cíf pe es G A T
  • 48. TAG Criando TAGS Normalmente se segue o padrão v0.0.0 para a criação de tags, pois facilita a procura de tags específicas que são feitas de forma decrescente e alfabética. ➜ likeaboss git tag -a v1.0 -m "Introducao"
  • 49. TAG Listando as TAGS Para visualizar as tags existentes no repositório, basta executar o comando ➜ likeaboss git tag v1.0
  • 50. TAG Alternando entre tags Em muitos casos desejamos alternar entre versões para entender desde que oque foi feito até recuperar uma versão estável para promoção de bugs. Para isso: ➜ likeaboss git tag checkout v1.0
  • 51. git that like a boss BRANCHING NO GIT removendo o que são branchs novo branch conflitos
  • 52. er ast M o, jet ro t é p do o Gi iro o n te rã n d s, õe po pa aç m h u fic te ranc rami en b sm . O rsas lo. ple vos im u i ive arale s q d p é ar it s em do G o rg n su mu no os ch tod deste m an m br té ir . É u rt es m on U c pa ch e ter, a ran qu as b m ários o v to is R B H C N A
  • 53. NOVO BRANCH Um novo branch Branch Based Em alguns momentos desejamos desenvolver novas funcionalidades, sejam para testar hipóteses ou apenas memorizar uma possível ideia. Nestas horas o branch nos ajuda. ➜ likeaboss git branch novafuncionalidade ➜ likeaboss git branch * master nova-funcionalidade Selecionando o branch ➜ likeaboss git checkout nova-funcionalidade Switched to branch 'novafuncionalidade'
  • 54. Diferença ➜ gitlikeboss ls Master intocado Perceba que se você fizer checkout neste momento voltando para o branch master, não deverá estar presente nenhum resquício das alterações que acabamos de executar dentro do branch nova-funcionalidade: .gitignore 1/1a.txt README mnb.sh oba.sh rbsdev.sh senha.sh ➜ gitlikeboss git checkout master Switched to branch 'master' ➜ gitlikeboss git lsfiles .gitignore 1/1a.txt README oba.sh rbsdev.sh senha.sh
  • 55. Alterando Fazendo nossas alterações Agora é hora de fazermos as alterações que desejamos. ➜ gitlikeaboss touch CHANGE.md ➜ gitlikeaboss git add . ➜ gitlikeaboss git commit -m “Novo arquivo”
  • 56. visualizando Visualizando as diferenças Perceba que se você fizer novamente checkout, voltando para o branch master, havera alterações que acabamos de executar dentro do branch novafuncionalidade: ➜ gitlikeboss ls README.md CHANGE.md ➜ gitlikeboss git checkout master Switched to branch 'master' ➜ gitlikeboss ls README.md CHANGE.md
  • 57. merge Mesclando as alterações Após a conclusão de uma tarefa é possível integrá-la a linha de desenvolvimento central. Para fazer isso, você fará o merge do seu branch. Tudo que você tem a fazer é executar o checkout do branch para onde deseja fazer o merge e então rodar o comando git merge. ➜ gitlikeboss git checkout master Switched to branch 'master' ➜ gitlikeboss git merge nova-funcionalidade ➜ gitlikeboss ls README.md CHANGE.md
  • 58. removendo ➜ gitlikeboss git branch master * nova-funcionalidade Removendo Após a conclusão do desenvolvimento de uma nova funcionalidade e sua integração ao master é interessante a remoção dos branches, mantendo o ambiente limpo. ➜ gitlikeboss git branch --delete novafuncionalidade error: Cannot delete the branch 'novafuncionalidade' which you are currently on. ➜ gitlikeboss git checkout master Switched to branch 'master' ➜ gitlikeboss git branch --delete novafuncionalidade Deleted branch teste (was 27478a1).
  • 59. COnflitos Merge com conflitos Em alguns momentos o git não conseguirá apresentar uma solução para os conflitos gerados entre as várias versões. Os conflitos podem acontecer durante os merges e commits. Sempre que um conflito acontece a ação executada fica incompleta até que os mesmos estejam resolvidos. ➜ gitlikeboss git merge novo-conflito Auto-merging arquivo.txt CONFLICT (content): Merge conflict in README.md Automatic merge failed; fix conflicts and then commit the result. ➜ gitlikeboss git commit -m “Conflito resolvido”
  • 60. Fontes: Pro Git - Scott Chacon Obrigado! @evandroeisinger @helmedeiros @rssilva http://try.github.io http://nathanj.github.io http://gitready.com/ Imagens: http://git-scm.com/