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
50
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
46
Aplicação Básica em C# com Banco de Dados - XXII Semana de Informática da Unifai
carlosschults
0
20
Introdução aos testes unitários automatizados com NUnit e C#
carlosschults
0
83
Other Decks in Programming
See All in Programming
From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism- An Example
philipschwarz
PRO
0
200
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
110
subpath importsで始めるモック生活
10tera
0
190
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
5
1.3k
RubyLSPのマルチバイト文字対応
notfounds
0
100
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
320
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
170
Java ジェネリクス入門 2024
nagise
0
710
EventSourcingの理想と現実
wenas
6
2.3k
役立つログに取り組もう
irof
28
9.5k
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
810
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
160
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
64k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
How GitHub (no longer) Works
holman
310
140k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Docker and Python
trallard
40
3.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
What's new in Ruby 2.0
geeforr
343
31k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
830
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
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