Enviar búsqueda
Cargar
Git Basics - RubyFest 2009
•
30 recomendaciones
•
1,555 vistas
Ariejan de Vroom
Seguir
A gentle introduction to the awesomeness of Git as presented a RubyFest, may 2009.
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 45
Recomendados
Git and GitHub
Git and GitHub
James Gray
Essential Git and Github commands
Essential Git and Github commands
Isham Rashik
Deep dark-side of git: How git works internally
Deep dark-side of git: How git works internally
SeongJae Park
Git: basic to advanced
Git: basic to advanced
Yodalee
Git Basics at Rails Underground
Git Basics at Rails Underground
Ariejan de Vroom
Git and GitHub
Git and GitHub
Md. Ahsan Habib Nayan
Git & GitHub WorkShop
Git & GitHub WorkShop
SheilaJimenezMorejon
Introduction to Git and GitHub
Introduction to Git and GitHub
Bioinformatics and Computational Biosciences Branch
Recomendados
Git and GitHub
Git and GitHub
James Gray
Essential Git and Github commands
Essential Git and Github commands
Isham Rashik
Deep dark-side of git: How git works internally
Deep dark-side of git: How git works internally
SeongJae Park
Git: basic to advanced
Git: basic to advanced
Yodalee
Git Basics at Rails Underground
Git Basics at Rails Underground
Ariejan de Vroom
Git and GitHub
Git and GitHub
Md. Ahsan Habib Nayan
Git & GitHub WorkShop
Git & GitHub WorkShop
SheilaJimenezMorejon
Introduction to Git and GitHub
Introduction to Git and GitHub
Bioinformatics and Computational Biosciences Branch
Learn Git Basics
Learn Git Basics
Prakash Dantuluri
Git tutorial
Git tutorial
Elli Kanal
Github
Github
JaneAlamAdnan
Git and Github
Git and Github
Wen-Tien Chang
Git and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern Developer
John Stevenson
Inside GitHub with Chris Wanstrath
Inside GitHub with Chris Wanstrath
SV Ruby on Rails Meetup
Git advanced
Git advanced
Peter Vandenabeele
Advanced Git Tutorial
Advanced Git Tutorial
Sage Sharp
Git, from the beginning
Git, from the beginning
James Aylett
Advanced Git Presentation By Swawibe
Advanced Git Presentation By Swawibe
Md Swawibe Ul Alam
Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)
Boise Web Technologies Group
Grokking opensource with github
Grokking opensource with github
GoogleDeveloperStude4
Introduction to Git / Github
Introduction to Git / Github
Paige Bailey
Git - Get Ready To Use It
Git - Get Ready To Use It
Daniel Kummer
Presentacion git
Presentacion git
Ignacio Martín
Git Real
Git Real
Gong Haibing
The Fundamentals of Git
The Fundamentals of Git
DivineOmega
Git real slides
Git real slides
Lucas Couto
Git internals
Git internals
Haggai Philip Zagury
Git & Github for beginners
Git & Github for beginners
Paulo Henrique Nonaka
互联网系统的稳定性保证:微博的实践
互联网系统的稳定性保证:微博的实践
XiaoJun Hong
Mysql参数-GDB
Mysql参数-GDB
zhaolinjnu
Más contenido relacionado
La actualidad más candente
Learn Git Basics
Learn Git Basics
Prakash Dantuluri
Git tutorial
Git tutorial
Elli Kanal
Github
Github
JaneAlamAdnan
Git and Github
Git and Github
Wen-Tien Chang
Git and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern Developer
John Stevenson
Inside GitHub with Chris Wanstrath
Inside GitHub with Chris Wanstrath
SV Ruby on Rails Meetup
Git advanced
Git advanced
Peter Vandenabeele
Advanced Git Tutorial
Advanced Git Tutorial
Sage Sharp
Git, from the beginning
Git, from the beginning
James Aylett
Advanced Git Presentation By Swawibe
Advanced Git Presentation By Swawibe
Md Swawibe Ul Alam
Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)
Boise Web Technologies Group
Grokking opensource with github
Grokking opensource with github
GoogleDeveloperStude4
Introduction to Git / Github
Introduction to Git / Github
Paige Bailey
Git - Get Ready To Use It
Git - Get Ready To Use It
Daniel Kummer
Presentacion git
Presentacion git
Ignacio Martín
Git Real
Git Real
Gong Haibing
The Fundamentals of Git
The Fundamentals of Git
DivineOmega
Git real slides
Git real slides
Lucas Couto
Git internals
Git internals
Haggai Philip Zagury
Git & Github for beginners
Git & Github for beginners
Paulo Henrique Nonaka
La actualidad más candente
(20)
Learn Git Basics
Learn Git Basics
Git tutorial
Git tutorial
Github
Github
Git and Github
Git and Github
Git and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern Developer
Inside GitHub with Chris Wanstrath
Inside GitHub with Chris Wanstrath
Git advanced
Git advanced
Advanced Git Tutorial
Advanced Git Tutorial
Git, from the beginning
Git, from the beginning
Advanced Git Presentation By Swawibe
Advanced Git Presentation By Swawibe
Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)
Grokking opensource with github
Grokking opensource with github
Introduction to Git / Github
Introduction to Git / Github
Git - Get Ready To Use It
Git - Get Ready To Use It
Presentacion git
Presentacion git
Git Real
Git Real
The Fundamentals of Git
The Fundamentals of Git
Git real slides
Git real slides
Git internals
Git internals
Git & Github for beginners
Git & Github for beginners
Destacado
互联网系统的稳定性保证:微博的实践
互联网系统的稳定性保证:微博的实践
XiaoJun Hong
Mysql参数-GDB
Mysql参数-GDB
zhaolinjnu
2010丹臣的思考
2010丹臣的思考
zhaolinjnu
新浪微博redis技术演化
新浪微博redis技术演化
XiaoJun Hong
Inno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structure
zhaolinjnu
Mysql展示功能与源码对应
Mysql展示功能与源码对应
zhaolinjnu
大规模数据库存储方案
大规模数据库存储方案
XiaoJun Hong
Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题
XiaoJun Hong
分布式缓存与队列
分布式缓存与队列
XiaoJun Hong
突发事件中重点信息的筛选与分类
突发事件中重点信息的筛选与分类
XiaoJun Hong
新浪微博分布式缓存与队列-2013版
新浪微博分布式缓存与队列-2013版
XiaoJun Hong
redis 适用场景与实现
redis 适用场景与实现
iammutex
Build scalable microblog qcon beijing 2010
Build scalable microblog qcon beijing 2010
Tim Y
Hbase源码初探
Hbase源码初探
zhaolinjnu
淘宝数据库架构演进历程
淘宝数据库架构演进历程
zhaolinjnu
Chirp 2010: Scaling Twitter
Chirp 2010: Scaling Twitter
John Adams
MySQL aio
MySQL aio
zhaolinjnu
大型系统的缓存标准化之路—从主从多级重client到一体化
大型系统的缓存标准化之路—从主从多级重client到一体化
XiaoJun Hong
High Performance Weibo QCon Beijing 2011
High Performance Weibo QCon Beijing 2011
Tim Y
新浪微博Feed服务架构
新浪微博Feed服务架构
XiaoJun Hong
Destacado
(20)
互联网系统的稳定性保证:微博的实践
互联网系统的稳定性保证:微博的实践
Mysql参数-GDB
Mysql参数-GDB
2010丹臣的思考
2010丹臣的思考
新浪微博redis技术演化
新浪微博redis技术演化
Inno db internals innodb file formats and source code structure
Inno db internals innodb file formats and source code structure
Mysql展示功能与源码对应
Mysql展示功能与源码对应
大规模数据库存储方案
大规模数据库存储方案
Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题
分布式缓存与队列
分布式缓存与队列
突发事件中重点信息的筛选与分类
突发事件中重点信息的筛选与分类
新浪微博分布式缓存与队列-2013版
新浪微博分布式缓存与队列-2013版
redis 适用场景与实现
redis 适用场景与实现
Build scalable microblog qcon beijing 2010
Build scalable microblog qcon beijing 2010
Hbase源码初探
Hbase源码初探
淘宝数据库架构演进历程
淘宝数据库架构演进历程
Chirp 2010: Scaling Twitter
Chirp 2010: Scaling Twitter
MySQL aio
MySQL aio
大型系统的缓存标准化之路—从主从多级重client到一体化
大型系统的缓存标准化之路—从主从多级重client到一体化
High Performance Weibo QCon Beijing 2011
High Performance Weibo QCon Beijing 2011
新浪微博Feed服务架构
新浪微博Feed服务架构
Similar a Git Basics - RubyFest 2009
Git Basics Philips
Git Basics Philips
Ariejan de Vroom
Git Started With Git
Git Started With Git
Nick Quaranto
Git Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a Boss
tmacwilliam
Smalltalk on Git
Smalltalk on Git
mattmatt
Git - Intro to the Basics of DVCS
Git - Intro to the Basics of DVCS
Matthew McCullough
Git - Intro to the Basics of DVCS
Git - Intro to the Basics of DVCS
Matthew McCullough
Loading...git
Loading...git
Rafael García
Git
Git
joren de groof
Git Distributed Version Control System
Git Distributed Version Control System
Victor Wong
git session --interactive
git session --interactive
Marius Colacioiu
Becoming a Git Master
Becoming a Git Master
Nicola Paolucci
Wokshop de Git
Wokshop de Git
Alberto Leal
Git Aliases of the Gods!
Git Aliases of the Gods!
Atlassian
Working with Git
Working with Git
Pete Nicholls
Becoming a Git Master - Nicola Paolucci
Becoming a Git Master - Nicola Paolucci
Atlassian
Git
Git
Kang-min Liu
Git Tech Talk
Git Tech Talk
Chris Johnson
Git the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version control
Becky Todd
Git For The Android Developer
Git For The Android Developer
Effective
Getting some Git
Getting some Git
BADR
Similar a Git Basics - RubyFest 2009
(20)
Git Basics Philips
Git Basics Philips
Git Started With Git
Git Started With Git
Git Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a Boss
Smalltalk on Git
Smalltalk on Git
Git - Intro to the Basics of DVCS
Git - Intro to the Basics of DVCS
Git - Intro to the Basics of DVCS
Git - Intro to the Basics of DVCS
Loading...git
Loading...git
Git
Git
Git Distributed Version Control System
Git Distributed Version Control System
git session --interactive
git session --interactive
Becoming a Git Master
Becoming a Git Master
Wokshop de Git
Wokshop de Git
Git Aliases of the Gods!
Git Aliases of the Gods!
Working with Git
Working with Git
Becoming a Git Master - Nicola Paolucci
Becoming a Git Master - Nicola Paolucci
Git
Git
Git Tech Talk
Git Tech Talk
Git the Docs: A fun, hands-on introduction to version control
Git the Docs: A fun, hands-on introduction to version control
Git For The Android Developer
Git For The Android Developer
Getting some Git
Getting some Git
Último
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
2toLead Limited
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
DianaGray10
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Hervé Boutemy
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
Nathaniel Shimoni
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
Zilliz
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
LoriGlavin3
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
Lars Bell
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Fwdays
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
gvaughan
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Curtis Poe
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
LoriGlavin3
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
LoriGlavin3
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
UiPathCommunity
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
LoriGlavin3
Último
(20)
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Training state-of-the-art general text embedding
Training state-of-the-art general text embedding
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
Git Basics - RubyFest 2009
1.
GIT BASICS by Ariejan
de Vroom – Kabisa ICT
2.
WHAT THE GIT?! “I'm
an egotistical bastard, and I name all my projects after myself. First Linux, now git.” – Linus Torvalds
3.
GET GIT! http://git-scm.com/
4.
5.
SURVEY • Who is
NOT using version control? • SubVersion? • Anything else?
6.
WHY GIT?! • Distributed
Repositories • Non-linear Development • Very fast branching and merging • Toolkit Design • Scales • Cryptographic authentication of history.
7.
LET’S ROCK! ~/gitbasics $
git init Initialized empty Git repository in /Users/ariejan/gitbasics/.git/
8.
LET’S ROLL! ~/gitbasics $
git clone git@github.com/ariejan/gitbasics.git
9.
~/gitbasics $ echo
quot;Live long and prosperquot; > README ~/gitbasics $ git add README ~/gitbasics $ git commit -m quot;Added READMEquot; [master (root-commit)]: created 8e60b09: quot;Added READMEquot; 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 README
10.
WHAT JUST HAPPENED? ~/gitbasics
$ git log commit 8e60b09d3082e9473944075cc01b3b67bb97d5c3 Author: Ariejan de Vroom <ariejan@ariejan.net> Date: Mon May 11 21:51:24 2009 +0200 Added README
11.
HOW GIT WORKS
Working Directory git add Staging Area git commit Repository
12.
WORKFLOW • Hack! (
TextMate, vim, ... ) • Stage your changes ( git add ) • Review your changes ( git status | diff ) • Commit (locally) ( git commit ) • Repeat
13.
USING BRANCHES • Very,
very fast • Keep different code paths separate • Try new things • Atomic merges!
14.
SURVEY • How many
of you use branching? • Do you work exclusively on trunk/master? • NEVER work on trunk/master?
15.
BRANCHING c1
c2 c3 c4 c5 c6
16.
LET’S BRANCH! ~/gitbasics $
git checkout -b new_feature Switched to a new branch quot;new_featurequot; ~/gitbasics $ git branch master * new_feature ~/gitbasics $ git checkout master Switched to branch quot;masterquot; ~/gitbasics $ git branch -d feature3 Deleted branch feature3
17.
MERGING • Merge two
branches together • Add new features • Add bugs fixes
18.
MERGING c1
c2 c3 c4 c7 c5 c6
19.
MERGING ~/gitbasics $ git
checkout master Switched to branch quot;masterquot; ~/gitbasics $ git merge new_feature
20.
REBASING • Bring a
branch up-to-date • Rebasing is rewriting history! • Don’t use rebasing on a branch you’re sharing!
21.
REBASING c1
c2 c3 c4 c3’ c4’ c5 c6
22.
REBASING ~/gitbasics $ git
checkout new_feature Switched to branch quot;new_featurequot; ~/gitbasics $ git rebase master
23.
REMOTE • Store and
share your code! • github.com • gitosis ( self-managed over SSH )
24.
PUSH ~/gitbasics $ git
add origin git@github.com/ariejan/ gitbasics.git ~/gitbasics $ git push origin master
25.
FETCH / PULL ~/gitbasics
$ git fetch origin ~/gitbasics $ git pull origin master
26.
WORKFLOW
Working Directory add Staging Area checkout merge commit Repository pull push fetch Remote
27.
TAGGING • Mark a
point in history • Optionally sign it cryptographically with GnuPG
28.
TAGGING
v1.0 c1 c2 c3 c4
29.
TAGGING ~/gitbasics $ git
tag -a -m quot;Tag v1.0quot; v1.0 Switched to branch quot;new_featurequot; ~/gitbasics $ git tag v1.0 ~/gitbasics $ git push --tags
30.
BISECTING • Binary search
for a bad commit • Find out where it when wrong (and who to blame)
31.
BISECTING
v1.0 Good or Bad? c1 c2 c3 c4 c5 c6 c7
32.
BISECTING ~/gitbasics $ git
bisect start ~/gitbasics $ git bisect bad ~/gitbasics $ git bisect good v1.0 ~/gitbasics $ git bisect bad | good ~/gitbasics $ git bisect reset ~/gitbasics $ git bisect start HEAD v1.0
33.
RELEASE
MANAGEMENT • Manage your DTSP environments • Branches to the rescue!
34.
RELEASE
MANAGEMENT ~/gitbasics $ git branch production master ~/gitbasics $ git push origin production ~/gitbasics $ git checkout --track -b production origin/production
35.
RELEASE
MANAGEMENT ~/gitbasics $ git checkout production ~/gitbasics $ git rebase master ~/gitbasics $ git push origin production
36.
TAGGING RELEASES ~/gitbasics $
git checkout master ~/gitbasics $ git tag -a -m quot;Tag v1.0.3quot; v1.0.3 ~/gitbasics $ git push --tags ~/gitbasics $ git checkout production ~/gitbasics $ git rebase v1.0.3 ~/gitbasics $ git push origin production
37.
THE STASH • Stash
away uncommited changes • Ideal for quick bug fixes!
38.
THE STASH ~/gitbasics $
git status # modified: README ~/gitbasics $ git stash ~/gitbasics $ git status nothing to commit # Hack, stage, review, commit, etc. ~/gitbasics $ git stash pop ~/gitbasics $ git status # modified: README
39.
CONFLICTS • Conflicts happen •
Git is clever • Easy to resolve manually • Merges are atomic!
40.
CONFLICTS ~/gitbasics $ git
merge awesome_feature Auto-merged README CONFLICT (content): Merge conflict in README Automatic merge failed; fix conflicts and then commit the result. ~/gitbasics $ vim README ~/gitbasics $ git add README ~/gitbasics $ git commit -m “fixed merge conflict”
41.
.GITIGNORE • Specify which
files to keep out of git • Location specific configuration • Generated files • Binary build files
42.
.GITIGNORE ~/gitbasics $ cat
.gitignore config/database.yml log/*.log tmp/* public/system/uploads/*
43.
SURVEY • Who is
going to try Git? • Stick with SubVersion?
44.
WE’RE HIRING!
AWESOME CODERS recruitment@kabisa.nl
45.
THANKS! Slides will be
posted to http://slideshare.net/ariejan Contact me at ariejan@kabisa.nl
Notas del editor