SlideShare a Scribd company logo
Git introduction
Introduction
• Fast
• Distributed
• Powerful
• Beautiful
Fast
• Initial clone: 7 min
• Push 6 commits: 2.5 sec
• Pull ~1600 commits: 10 sec
• Create branch – instant (local operation)
• Switch ~10 commits: 1 sec
• Fetch 0 commits (what’s new?): 2 sec
• Status: 0.5 / 9 sec
GUI can introduce delays
Distributed
• Usual Flow:
Commit, Commit, …, Rebase, Pull + Rebase, Push
• Offline operations (log, blame, work-in-train)
• Local commits, stash
• Exchange peer-2-peer
Powerful
• Merge
• Rewrite history (amend, rebase)
• Commit parts of file
• Switch ‘in place’
• Submodules
• Handy command line & GUI clients
• Dictator workflow
• Stage area (index)
Dictator and Lieutenants
Workflow
Other useful features
• Bisect – find bad commit
• Grep in diffs
• Restore data until gc’ed
• Exchange patches with ease
• Moves autodetect
Other features
(appendix)
• Review changes before commit (git exts)
• Select defect (Tortoise GIT)
• Review tools (gerrit)
• Teamcity integration
Beautiful
• Hash based repository
Disadvantages
• 2-stage publications, no backup
• Steep learning curve
• No ideal GUI client
• Poor rights system
• Big files problem
• Obliterate/force push problem
• No sequential commit number
Try it now!
• Goldfire GIT Repository
• Git Extensions or TortoiseGIT or SourceTree or
SmartGit or just Visual Studio integration
• Create your own repository on GitHub
• Pro Git (book)
• Git-tfs (TFS bridge, for brave men's)

More Related Content

PDF
Couchbase live 2016
ODP
Clojure News Feed Performance Testing
PDF
Introduction to Git
PPTX
Quartz
PDF
Marriage with docker
PDF
Babushka
PDF
Dicas e truques de otimização de websites python
PDF
Embedded Recipes 2017 - Reliable monitoring with systemd - Jérémy Rosen
Couchbase live 2016
Clojure News Feed Performance Testing
Introduction to Git
Quartz
Marriage with docker
Babushka
Dicas e truques de otimização de websites python
Embedded Recipes 2017 - Reliable monitoring with systemd - Jérémy Rosen

What's hot (16)

ODP
CRIU: Time and Space Travel for Linux Containers
PDF
Baker: Scaling OVN with Kubernetes API Server
PPTX
Running Multiple XORP Instances In One Box
ODP
AGES Presentation on Web, Python, Django and GeoServer
PPT
Git and fundamentals
PDF
Heketi Functionality into Glusterd2
PDF
Slack の過去ログ倉庫を建てよう (2017 合宿 LT)
PDF
Ruby e xmpp
PPTX
RSK sidechain
PPTX
NFD LuCI
PDF
Async queue-transaction
PDF
FOSDEM2015: Live migration for containers is around the corner
PDF
Os final project
PPT
Zarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxy
PDF
Meetups - A realtime distributed monitoring application (Android)
PDF
Writing a fast HTTP parser
CRIU: Time and Space Travel for Linux Containers
Baker: Scaling OVN with Kubernetes API Server
Running Multiple XORP Instances In One Box
AGES Presentation on Web, Python, Django and GeoServer
Git and fundamentals
Heketi Functionality into Glusterd2
Slack の過去ログ倉庫を建てよう (2017 合宿 LT)
Ruby e xmpp
RSK sidechain
NFD LuCI
Async queue-transaction
FOSDEM2015: Live migration for containers is around the corner
Os final project
Zarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxy
Meetups - A realtime distributed monitoring application (Android)
Writing a fast HTTP parser
Ad

Similar to Git introduction (20)

PPTX
Git first steps
PDF
Steamlining your puppet development workflow
PDF
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
PPTX
Nagios XI Best Practices
ODP
The Fundamentals of Git
PDF
Git vs Subversion: ¿Cuando elegir uno u otro?
PDF
Introduction to Git
PDF
Learning Git
KEY
Introduction To Git
PDF
Rex gke-clustree
PDF
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
PDF
Git training v10
PDF
Introduction to Git
PPT
Fundamentals and basics of Git and commands
PDF
systemd @ Facebook in 2019
PDF
Queick: A Simple Job Queue System for Python
PPTX
Git and GitHub
PPTX
Git tips and tricks
PDF
Dutch Lotus User Group 2009 - Domino Tuning Presentation
Git first steps
Steamlining your puppet development workflow
Puppet Camp New York 2014: Streamlining Puppet Development Workflow
Nagios XI Best Practices
The Fundamentals of Git
Git vs Subversion: ¿Cuando elegir uno u otro?
Introduction to Git
Learning Git
Introduction To Git
Rex gke-clustree
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Git training v10
Introduction to Git
Fundamentals and basics of Git and commands
systemd @ Facebook in 2019
Queick: A Simple Job Queue System for Python
Git and GitHub
Git tips and tricks
Dutch Lotus User Group 2009 - Domino Tuning Presentation
Ad

Recently uploaded (20)

PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Hybrid model detection and classification of lung cancer
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Encapsulation theory and applications.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PPTX
A Presentation on Touch Screen Technology
PPTX
A Presentation on Artificial Intelligence
PDF
August Patch Tuesday
PPTX
Programs and apps: productivity, graphics, security and other tools
DP Operators-handbook-extract for the Mautical Institute
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
A comparative analysis of optical character recognition models for extracting...
Assigned Numbers - 2025 - Bluetooth® Document
SOPHOS-XG Firewall Administrator PPT.pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Approach and Philosophy of On baking technology
Hybrid model detection and classification of lung cancer
A comparative study of natural language inference in Swahili using monolingua...
Encapsulation theory and applications.pdf
Group 1 Presentation -Planning and Decision Making .pptx
Web App vs Mobile App What Should You Build First.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
A Presentation on Touch Screen Technology
A Presentation on Artificial Intelligence
August Patch Tuesday
Programs and apps: productivity, graphics, security and other tools

Git introduction

  • 3. Fast • Initial clone: 7 min • Push 6 commits: 2.5 sec • Pull ~1600 commits: 10 sec • Create branch – instant (local operation) • Switch ~10 commits: 1 sec • Fetch 0 commits (what’s new?): 2 sec • Status: 0.5 / 9 sec GUI can introduce delays
  • 4. Distributed • Usual Flow: Commit, Commit, …, Rebase, Pull + Rebase, Push • Offline operations (log, blame, work-in-train) • Local commits, stash • Exchange peer-2-peer
  • 5. Powerful • Merge • Rewrite history (amend, rebase) • Commit parts of file • Switch ‘in place’ • Submodules • Handy command line & GUI clients • Dictator workflow • Stage area (index)
  • 7. Other useful features • Bisect – find bad commit • Grep in diffs • Restore data until gc’ed • Exchange patches with ease • Moves autodetect
  • 8. Other features (appendix) • Review changes before commit (git exts) • Select defect (Tortoise GIT) • Review tools (gerrit) • Teamcity integration
  • 10. Disadvantages • 2-stage publications, no backup • Steep learning curve • No ideal GUI client • Poor rights system • Big files problem • Obliterate/force push problem • No sequential commit number
  • 11. Try it now! • Goldfire GIT Repository • Git Extensions or TortoiseGIT or SourceTree or SmartGit or just Visual Studio integration • Create your own repository on GitHub • Pro Git (book) • Git-tfs (TFS bridge, for brave men's)