Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introdução Ao Controle de Versão Com Git
Search
Carlos Schults
September 12, 2018
Programming
0
53
Introdução Ao Controle de Versão Com Git
Slides do workshop de Git ministrado no dia 12 de setembro de 2018, na Unifai em Adamantina - SP.
Carlos Schults
September 12, 2018
Tweet
Share
More Decks by Carlos Schults
See All by Carlos Schults
Healthy Developer: Como Conciliar Sua Carreira na Tecnologia Com Um Estilo de Vida Saudável?
carlosschults
0
49
Aplicação Básica em C# com Banco de Dados - XXII Semana de Informática da Unifai
carlosschults
0
22
Introdução aos testes unitários automatizados com NUnit e C#
carlosschults
0
85
Other Decks in Programming
See All in Programming
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
2
820
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
210
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
150
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
5
1.1k
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
290
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
130
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
640
Startups on Rails in Past, Present and Future–Irina Nazarova, RailsConf 2025
irinanazarova
0
110
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
160
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
360
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
650
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
270
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
How STYLIGHT went responsive
nonsquared
100
5.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
The Language of Interfaces
destraynor
158
25k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Site-Speed That Sticks
csswizardry
10
690
Transcript
Introdução ao Controle de Versão com Git @carlosschults
None
carlosschults.net/unifai2018
Git?
Controle de versão?
todo mundo faz controle de versão...
Resumo
Resumo Resumo Final
Resumo Resumo Final Resumo Final 2
Resumo Resumo Final Resumo Final 2 Resumo Final – AGORA
VAI
Versionamento em projetos de software. Por quê?
#1 tornar a colaboração em grupo mais eficiente
#2 prover isolamento
#3 permitir comparações
#4 verificar autoria
#5 verificar histórico
#6 voltar a um ponto seguro
não iremos abordar:
#1 história
#2 instalação
#3 ferramentas visuais
#4 implementação
#5 github e similares
#5 github* e similares
None
#1 criando e configurando o primeiro repositório
git init git config
None
#2 primeiros commits: criando e visualizando
git status git add git commit git log
commitando um novo arquivo demo #1
Remove o arquivo
Remove o arquivo cria o arquivo
Remove o arquivo cria o arquivo echo Hello World >
arquivo1.txt
untracked cria o arquivo
untracked adiciona o arquivo Remove o arquivo cria o arquivo
untracked adiciona o arquivo Remove o arquivo cria o arquivo
git add arquivo1.txt
untracked new file adiciona o arquivo Remove o arquivo cria
o arquivo
untracked new file adiciona o arquivo commit Remove o arquivo
cria o arquivo
untracked new file adiciona o arquivo commit Remove o arquivo
cria o arquivo git commit –m “Primeiro commit”
untracked new file unnmodified adiciona o arquivo commit Remove o
arquivo cria o arquivo
commitando alterações em arquivo existente demo #2
arquivo1.txt
commit unnmodified arquivo1.txt
commit unnmodified arquivo1.txt edita o arquivo
commit unnmodified arquivo1.txt edita o arquivo echo Segunda linha. >>
arquivo1.txt
commit unnmodified arquivo1.txt edita o arquivo modified
commit unnmodified arquivo1.txt edita o arquivo modified adiciona ao stage
commit unnmodified arquivo1.txt edita o arquivo modified adiciona ao stage
git add arquivo1.txt
commit unnmodified arquivo1.txt edita o arquivo modified adiciona ao stage
staged
modified staged edita o arquivo adiciona ao stage commit unnmodified
arquivo1.txt
modified staged edita o arquivo adiciona ao stage commit unnmodified
git commit –m “Adicionei segunda linha” arquivo1.txt
modified staged edita o arquivo adiciona ao stage commit unnmodified
arquivo1.txt
commitando arquivo existente e criando um novo demo #3
#3 trabalhando com branches
git branch git checkout git merge
trabalhando em um novo branch demo #1
C1 C2 C3 master*
git branch teste
C1 C2 C3 teste master*
git checkout teste
C1 C2 C3 master teste*
untracked new file unnmodified adiciona o arquivo commit Remove o
arquivo cria o arquivo
modified staged edita o arquivo adiciona ao stage commit unnmodified
arquivo- exclusivo- branch-teste.txt
C1 master teste* C2 C3 C4 C5
mesclando branches no modo fast-forward demo #2
C1 master teste* C2 C3 C4 C5
git checkout master
C1 master* teste C2 C3 C4 C5
git merge teste
C1 master* teste C2 C3 C4 C5
excluindo um branch demo #3
C1 master* teste C2 C3 C4 C5
git branch –d teste
C1 master* C2 C3 C4 C5
mesclando branches (3-way merge) demo #4
C1 master* C2 C3 C4 C5
git checkout –b novo
C1 master novo* C2 C3 C4 C5
echo asdfg > arquivo-novo.txt
git add . git commit –m “commit no branch novo”
C1 master novo* C2 C3 C4 C5 C6
git checkout master
echo asdfg > arquivo-no- master.txt
git add . git commit –m “commit no branch master”
C1 master* novo C2 C3 C4 C5 C6 C7
git merge novo
C1 C2 C3 C4 C5 C6 C7 C8 novo master*
#4 fazendo comparações
git diff
comparando alterações não commitadas demo #1
comparando dois commits demo #2
comparando dois branches demo #3
#5 verificando autoria
git blame
None
#6 voltando atrás
git checkout git reset git revert
desfazendo alterações no diretório de trabalho com git checkout demo
#1
edita o arquivo unnmodified
unnmodified edita o arquivo echo nova linha. >> arquivo1.txt
edita o arquivo unnmodified modified
edita o arquivo desfaz a alteração unnmodified modified
edita o arquivo desfaz a alteração git checkout –- arquivo1.txt
unnmodified modified
edita o arquivo desfaz a alteração unnmodified modified
removendo arquivos do stage demo #2
arquivo1.txt
commit unnmodified arquivo1.txt
commit unnmodified arquivo1.txt edita o arquivo
commit unnmodified arquivo1.txt edita o arquivo echo whatever >> arquivo1.txt
commit unnmodified arquivo1.txt edita o arquivo modified
commit unnmodified arquivo1.txt edita o arquivo adiciona ao stage modified
modified commit unnmodified arquivo1.txt edita o arquivo adiciona ao stage
git add arquivo1.txt
commit unnmodified arquivo1.txt edita o arquivo adiciona ao stage staged
modified
unnmodified arquivo1.txt edita o arquivo adiciona ao stage staged remove
do stage modified
commit unnmodified arquivo1.txt edita o arquivo adiciona ao stage remove
do stage git reset HEAD arquivo1.txt modified staged
commit unnmodified arquivo1.txt edita o arquivo adiciona ao stage staged
remove do stage modified
revertendo commits demo #3
#7 colaborando com outras pessoas
git clone git remote git branch –r git fetch git
pull
None
@carlosschults