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
Git e Github
Search
Scalone
May 15, 2017
Programming
0
65
Git e Github
Workshop de git realizado na Fatec Franca.
Scalone
May 15, 2017
Tweet
Share
More Decks by Scalone
See All by Scalone
TDD - Test Driven Development
scalone
0
3
Ruby, Web and IOT with the same Platform
scalone
0
61
20k mRuby devices in Production
scalone
0
350
DaFunk, IOT Framework in Ruby
scalone
0
140
Concurrency in the imperative and functional world
scalone
0
150
Git, o que é, do que é feito, para que serve?
scalone
0
260
DaFunk, IOT Framework in Ruby
scalone
0
160
Uzmenino Marketplace
scalone
0
93
Building a CLI with mruby-cli
scalone
1
290
Other Decks in Programming
See All in Programming
Rustのweb開発を助ける 便利なツール紹介
yuki0418
1
190
大規模マルチテナントを解決するYugabyteDBという選択肢
nnaka2992
1
250
CSC307 Lecture 06
javiergs
PRO
0
360
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
200
Polarsの成長: v0.14からv1.0までの変遷と今後の展望
zerebom
1
350
Xcode 16のPreviewModifierと@Previewableを活用した効率的なプレビュー方法の考察
ojun9
2
160
リハビリmruby
kishima
1
160
【Go言語】ジェネリクス
tomo1227
0
170
CSC307 Lecture 05
javiergs
PRO
0
210
君たちはどうコードをレビューする (される) か / 大吉祥寺.pm
utgwkk
15
8.5k
CSC307 Lecture 10
javiergs
PRO
0
310
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Berlin
prof18
0
110
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
134
6.5k
How to Think Like a Performance Engineer
csswizardry
4
590
A designer walks into a library…
pauljervisheath
201
24k
Music & Morning Musume
bryan
43
5.9k
Build your cross-platform service in a week with App Engine
jlugia
227
17k
Mobile First: as difficult as doing things right
swwweet
219
8.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
26
2.1k
Code Review Best Practice
trishagee
58
16k
How to train your dragon (web standard)
notwaldorf
79
5.5k
The Invisible Customer
myddelton
117
13k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
121
18k
Transcript
GIT E GITHUB THIAGO SCALONE - @SCALONE
@SCALONE
AGENDA ▸ Controle de versão ▸ Mão na massa ▸
Vocabulário ▸ Controle de versão centralizado ▸ Controle de versão distribuído ▸ Git ▸ Github ▸ Mão na massa
CONTROLE DE VERSÃO
SOFTWARE
SOFTWARE A B C D
SOFTWARE A B C D
PEN DRIVE A B C D
NOOOOO A B C D
CONTROLE DE VERSÃO
CONTROLE DE VERSÃOHistórico
CONTROLE DE VERSÃOHistórico Trabalho em equipe
CONTROLE DE VERSÃOHistórico Trabalho em equipe Ramificação
CONTROLE DE VERSÃOHistórico Trabalho em equipe Marcação e resgate Ramificação
MÃO NA MASSA
VOCABULÁRIO
VOCABULÁRIO CHECKOUT
VOCABULÁRIO CHECKOUT 3 7 2 … 6 …
VOCABULÁRIO COMMIT
VOCABULÁRIO COMMIT 3 2 …
VOCABULÁRIO BRANCH
VOCABULÁRIO BRANCH 8 7 4 6 3 BRANCH A BRANCH
B
VOCABULÁRIO MERGE
VOCABULÁRIO MERGE 7 4 6 3 BRANCH A BRANCH B
VOCABULÁRIO FORK
VOCABULÁRIO FORK 8 7 4 6 3 SCALONE/PROJECT 8 7
4 6 3 USER/PROJECT
VOCABULÁRIO PULL REQUEST
VOCABULÁRIO PULL REQ. 7 6 3 SCALONE/PROJECT 8 4 3
USER/PROJECT BRANCH A BRANCH B
TIPOS DISTRIBUIDO CENTRALIZADO
CENTRALIZADO
CENTRALIZADO
CVS (CONCURRENT VERSION SYSTEM) ▸ Checkout - Download de versão
▸ Commit - Envio de modificações ▸ Update - Atualização local ▸ Merge - Fusão total das modificações, sem histórico ▸ Lock - Bloqueia arquivo sendo alterado.
SVN (SUBVERSION) ▸ Igual ao CVS ▸ Renomear - Renomear
arquivo com histórico ▸ Mover - Mover arquivo com histórico ▸ Merge - Fusão total das modificações, sem histórico
DISTRIBUIDO
DISTRIBUIDO
GIT ▸ Criado por Linus Torvalds ▸ Utiliza o sistema
de arquivos .git, leve. ▸ Commit/Merge/Update - Offline ▸ Copia total do repositório ▸ Utiliza SHA1 para controle de alterações
SHA1 7)if (argc >= 2) { 8) if (strcmp(argv[1], "thiago.scalone")
== 0) { 9) printf("\nCowabunga!\n"); 10) } 11) 12) 13) if (strcmp(argv[1], "patrick.barcelos") == 0) { 14) printf("\nLet's go!\n"); 15) } 16) 17) if (strcmp(argv[1], "kaiopessoni") == 0) { 18) printf("\nWhat's up dude!\n"); 19) }
SHA1 ^80ac8a2 (Thiago Scalone 2016-10-27 22:00:48 -0200 7) ^80ac8a2 (Thiago
Scalone 2016-10-27 22:00:48 -0200 8) ^80ac8a2 (Thiago Scalone 2016-10-27 22:00:48 -0200 9) ^80ac8a2 (Thiago Scalone 2016-10-27 22:00:48 -0200 10) d88e5763 (AndreiaAlves 2016-10-27 22:53:35 -0200 11) 9c58d201 (JOhn 2016-10-27 22:52:23 -0200 12) f49e9a57 (Patrick 2016-10-27 22:44:04 -0200 13) f49e9a57 (Patrick 2016-10-27 22:44:04 -0200 14) f49e9a57 (Patrick 2016-10-27 22:44:04 -0200 15) 8fec1a93 (Patrick 2016-10-27 23:01:05 -0200 16) 936203a7 (Aluno 2016-10-27 22:39:21 -0200 17) 936203a7 (Aluno 2016-10-27 22:39:21 -0200 18) 8fec1a93 (Patrick 2016-10-27 23:01:05 -0200 19)
SETUP
COMANDOS ▸ git init . ▸ git add . ▸
git commit ▸ git push ▸ git branch ▸ git checkout ▸ .gitignore
OPERAÇÕES LOCAIS WORKING DIRECTORY STAGING AREA GIT DIRECTORY STAGE FILES
GIT ADD <FILE> COMMIT GIT COMMIT -M “ADD FILE” CHECKOUT GIT CHECKOUT <BRANCH>
GITHUB
GIT != GITHUB
GITHUB
GITHUB Repositório de código
GITHUB Repositório de código coloboração
GITHUB Repositório de código coloboração discussão
GITHUB Repositório de código coloboração distribuição discussão
GITHUB
GITHUBRede Social para Desenvolvedores
GITHUB ▸ Criado em 2007 (público em 2008) ▸ São
Francisco ▸ Open Source Free ▸ Private Pago ▸ Receita $140M anual ▸ Github Pages ▸ 3 M users + 10M repos
None
GITHUB
GITHUB CV
MÃO NA MASSA
OBRIGADO @SCALONE
[email protected]