Soumettre la recherche
Mettre en ligne
Git Basics - RubyFest 2009
•
30 j'aime
•
1,555 vues
Ariejan de Vroom
Suivre
A gentle introduction to the awesomeness of Git as presented a RubyFest, may 2009.
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 45
Recommandé
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
Recommandé
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
Contenu connexe
Tendances
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
Tendances
(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
En vedette
互联网系统的稳定性保证:微博的实践
互联网系统的稳定性保证:微博的实践
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
En vedette
(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服务架构
Similaire à 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
Similaire à 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
Dernier
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Wonjun Hwang
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Kalema Edgar
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
Manik S Magar
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
Fwdays
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
RankYa
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Fwdays
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
charlottematthew16
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Mark Billinghurst
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Enterprise Knowledge
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
NavinnSomaal
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Patryk Bandurski
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Stephanie Beckett
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
comworks
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Lorenzo Miniero
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Safe Software
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Zilliz
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
charlottematthew16
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
Rizwan Syed
Dernier
(20)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
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
Notes de l'éditeur