SlideShare a Scribd company logo
My understanding of git
       weng.wei@zalora.sg
Meta


• No silver bullets
Conservation of
      Complexity
• “Complexity has to go somewhere.” -
  Bjarne Stroustrup


• http://www.johndcook.com/blog/
  2009/09/16/conservation-of-complexity/
Background


• Git was initially designed and developed by
  Linus Torvalds for Linux kernel
  development
• Linus Torvalds on git
 • http://www.youtube.com/watch?
    v=4XpnKHJAok8
Linus Torvalds

• “Take CVS(Subversion was ‘CVS done
  right’) as an example of what not to do; if in
  doubt, make the exact opposite decision. ”


• http://en.wikipedia.org/wiki/Git_(software)
SVN vs Git
          SVN                            Git

       Centralized                   Distributed

   Track files / folders           Track Repository

Revision history is sacred   Editing history is common(*)

   Big Merge/Commit          Merge/Commit Early / Fast

     About revision               About changeset
• In order to learn GIT, one must unlearn
  SVN.
Revision vs ChangeSet

• Japanese addresses: No street names. Block
  numbers.


• http://sivers.org/jadr
• http://hginit.com
• hg (mercurial) - “easy GIT” with better
  windows support
Conservation of
      Complexity

• Easy GIT?
• Windows?
Rebase
• http://git-scm.com/book
Demo
• Yes, git looks good, but SVN is also good
  enough.
• We’ve been using SVN for years! We
  survive and succeed. Why bother?
• "tinker and fix things that aren't broken" -
  The greatest geek who ever lived
• http://theoatmeal.com/comics/tesla

More Related Content

Similar to My understanding of Git

Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
Randal Schwartz
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
Ovidiu Dimulescu
 
January 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: GitJanuary 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: Git
Andrew Denner
 
Mozammel Haque: Git -- Stupid, Fast, distributed content tracker
Mozammel Haque: Git -- Stupid, Fast, distributed content trackerMozammel Haque: Git -- Stupid, Fast, distributed content tracker
Mozammel Haque: Git -- Stupid, Fast, distributed content tracker
SQABD
 
Git vs svn
Git vs svnGit vs svn
Git vs svn
Rupesh Kumar
 
Git for Android Developers
Git for Android DevelopersGit for Android Developers
Git for Android Developers
Tack Mobile
 
Git
GitGit
simple Introduction to git
simple Introduction to gitsimple Introduction to git
simple Introduction to git
Omid Khosrojerdi
 
Git! Why? How?
Git! Why? How?Git! Why? How?
Git! Why? How?
Daniel Kummer
 
An introduction to Git.
An introduction to Git.An introduction to Git.
An introduction to Git.
Sten Govaerts
 
GIT for version control- A very comprehensive guide .pptx
GIT for version control- A very comprehensive guide .pptxGIT for version control- A very comprehensive guide .pptx
GIT for version control- A very comprehensive guide .pptx
MohanBharti4
 
An introduction to git
An introduction to gitAn introduction to git
An introduction to git
Shakeel Tariq
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
Ram0603
 
Intro to Git
Intro to GitIntro to Git
Intro to Git
ojtibi
 
Enterprise git
Enterprise gitEnterprise git
Enterprise git
Pedro Melo
 
Git: be social
Git: be socialGit: be social
Git: be social
Geronimo Orozco
 
Harvard ABCD-WWW Git presentation
Harvard ABCD-WWW Git presentationHarvard ABCD-WWW Git presentation
Harvard ABCD-WWW Git presentation
Jeff Byrnes
 
Why Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anywaysWhy Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anyways
Carlos Taborda
 
sbt 1
sbt 1sbt 1
Git Presentation
Git PresentationGit Presentation
Git Presentation
Prem Aseem Jain
 

Similar to My understanding of Git (20)

Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
January 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: GitJanuary 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: Git
 
Mozammel Haque: Git -- Stupid, Fast, distributed content tracker
Mozammel Haque: Git -- Stupid, Fast, distributed content trackerMozammel Haque: Git -- Stupid, Fast, distributed content tracker
Mozammel Haque: Git -- Stupid, Fast, distributed content tracker
 
Git vs svn
Git vs svnGit vs svn
Git vs svn
 
Git for Android Developers
Git for Android DevelopersGit for Android Developers
Git for Android Developers
 
Git
GitGit
Git
 
simple Introduction to git
simple Introduction to gitsimple Introduction to git
simple Introduction to git
 
Git! Why? How?
Git! Why? How?Git! Why? How?
Git! Why? How?
 
An introduction to Git.
An introduction to Git.An introduction to Git.
An introduction to Git.
 
GIT for version control- A very comprehensive guide .pptx
GIT for version control- A very comprehensive guide .pptxGIT for version control- A very comprehensive guide .pptx
GIT for version control- A very comprehensive guide .pptx
 
An introduction to git
An introduction to gitAn introduction to git
An introduction to git
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Intro to Git
Intro to GitIntro to Git
Intro to Git
 
Enterprise git
Enterprise gitEnterprise git
Enterprise git
 
Git: be social
Git: be socialGit: be social
Git: be social
 
Harvard ABCD-WWW Git presentation
Harvard ABCD-WWW Git presentationHarvard ABCD-WWW Git presentation
Harvard ABCD-WWW Git presentation
 
Why Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anywaysWhy Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anyways
 
sbt 1
sbt 1sbt 1
sbt 1
 
Git Presentation
Git PresentationGit Presentation
Git Presentation
 

More from Weng Wei

About Caching
About CachingAbout Caching
About Caching
Weng Wei
 
Metaprogramming Go
Metaprogramming GoMetaprogramming Go
Metaprogramming Go
Weng Wei
 
Why use Go for web development?
Why use Go for web development?Why use Go for web development?
Why use Go for web development?
Weng Wei
 
谈谈缓存
谈谈缓存谈谈缓存
谈谈缓存
Weng Wei
 
用PY实现"Go元编程"
用PY实现"Go元编程"用PY实现"Go元编程"
用PY实现"Go元编程"
Weng Wei
 
Go for web
Go for webGo for web
Go for web
Weng Wei
 
Go for web
Go for webGo for web
Go for web
Weng Wei
 
Python to go
Python to goPython to go
Python to go
Weng Wei
 
论使用Python开发推荐引擎的优越性
论使用Python开发推荐引擎的优越性论使用Python开发推荐引擎的优越性
论使用Python开发推荐引擎的优越性Weng Wei
 
Zalora php to_go
Zalora php to_goZalora php to_go
Zalora php to_goWeng Wei
 
A byte of git
A byte of gitA byte of git
A byte of git
Weng Wei
 
Sharding
ShardingSharding
Sharding
Weng Wei
 
Inside Zend Framework
Inside Zend FrameworkInside Zend Framework
Inside Zend Framework
Weng Wei
 

More from Weng Wei (13)

About Caching
About CachingAbout Caching
About Caching
 
Metaprogramming Go
Metaprogramming GoMetaprogramming Go
Metaprogramming Go
 
Why use Go for web development?
Why use Go for web development?Why use Go for web development?
Why use Go for web development?
 
谈谈缓存
谈谈缓存谈谈缓存
谈谈缓存
 
用PY实现"Go元编程"
用PY实现"Go元编程"用PY实现"Go元编程"
用PY实现"Go元编程"
 
Go for web
Go for webGo for web
Go for web
 
Go for web
Go for webGo for web
Go for web
 
Python to go
Python to goPython to go
Python to go
 
论使用Python开发推荐引擎的优越性
论使用Python开发推荐引擎的优越性论使用Python开发推荐引擎的优越性
论使用Python开发推荐引擎的优越性
 
Zalora php to_go
Zalora php to_goZalora php to_go
Zalora php to_go
 
A byte of git
A byte of gitA byte of git
A byte of git
 
Sharding
ShardingSharding
Sharding
 
Inside Zend Framework
Inside Zend FrameworkInside Zend Framework
Inside Zend Framework
 

My understanding of Git

  • 1. My understanding of git weng.wei@zalora.sg
  • 3. Conservation of Complexity • “Complexity has to go somewhere.” - Bjarne Stroustrup • http://www.johndcook.com/blog/ 2009/09/16/conservation-of-complexity/
  • 4. Background • Git was initially designed and developed by Linus Torvalds for Linux kernel development
  • 5. • Linus Torvalds on git • http://www.youtube.com/watch? v=4XpnKHJAok8
  • 6. Linus Torvalds • “Take CVS(Subversion was ‘CVS done right’) as an example of what not to do; if in doubt, make the exact opposite decision. ” • http://en.wikipedia.org/wiki/Git_(software)
  • 7. SVN vs Git SVN Git Centralized Distributed Track files / folders Track Repository Revision history is sacred Editing history is common(*) Big Merge/Commit Merge/Commit Early / Fast About revision About changeset
  • 8. • In order to learn GIT, one must unlearn SVN.
  • 9. Revision vs ChangeSet • Japanese addresses: No street names. Block numbers. • http://sivers.org/jadr
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. • http://hginit.com • hg (mercurial) - “easy GIT” with better windows support
  • 15. Conservation of Complexity • Easy GIT? • Windows?
  • 17.
  • 18.
  • 19.
  • 20.
  • 22. Demo
  • 23. • Yes, git looks good, but SVN is also good enough. • We’ve been using SVN for years! We survive and succeed. Why bother?
  • 24. • "tinker and fix things that aren't broken" - The greatest geek who ever lived • http://theoatmeal.com/comics/tesla

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n