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
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Git e Github
Workshop de git realizado na Fatec Franca.
Scalone
May 15, 2017
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
120
20k mRuby devices in Production
scalone
0
490
DaFunk, IOT Framework in Ruby
scalone
0
190
Concurrency in the imperative and functional world
scalone
0
230
Git, o que é, do que é feito, para que serve?
scalone
0
380
DaFunk, IOT Framework in Ruby
scalone
0
230
Uzmenino Marketplace
scalone
0
170
Building a CLI with mruby-cli
scalone
1
360
Other Decks in Programming
See All in Programming
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
260
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.9k
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
150
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
180
ALB ログから Trace を気合で繋げる技術
fohte
7
840
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
240
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
2
940
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
610
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
240
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
550
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
210
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
570
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Test your architecture with Archunit
thirion
2
2.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
880
KATA
mclloyd
PRO
35
15k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Six Lessons from altMBA
skipperchong
29
4.5k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Spectacular Lies of Maps
axbom
PRO
1
960
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
400
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]