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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Carlos Schults
September 12, 2018
Programming
0
55
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
52
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
88
Other Decks in Programming
See All in Programming
Claude Code Skill入門
mayahoney
0
410
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
270
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
170
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
570
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
240
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
8.2k
技術検証結果の整理と解析をAIに任せよう!
keisukeikeda
0
130
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
1.1k
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
150
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
800
へんな働き方
yusukebe
5
2.7k
Featured
See All Featured
The agentic SEO stack - context over prompts
schlessera
0
700
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
90
A Tale of Four Properties
chriscoyier
163
24k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
650
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
980
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Exploring anti-patterns in Rails
aemeredith
2
290
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
400
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.4k
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