SlideShare a Scribd company logo
Getting intimate with
the stupid content tracker
Agenda
• What is a Version Control System?
• So why is git called the “stupid content tracker”?
• More detailed look at everyday tasks with git
• Word on workflows
VCS
No more:
- “who overwrote my
changes”
- “which version of the file
are you working on? Noooo
that’s out of date”
Enter git
putting “distributed” into DVCS, kinda
• most popular VCS
• at heart of the biggest open source community
• legendary creator, very competent community
and yet…
Bit of history
• Linus Torvalds starts Linux kernel dev in 1991
• “how card can it be to port Unix”
• Becomes biggest open source project in history, still
going strong after 25 years
• No VCS solution available for such a big project
• git dev starts in 2005, by a guy heavily into micro-
optimisation and not at all into UX
What does it mean?
• Beautiful example of real world optimisation
• Putting developers needs first
• Best DVCS is ironically offline
• Really fast, scales up to the biggest projects
• “The UI is horrible” doesn’t even begin to describe the
awfulness
Gitology
Getting dirty
• Commits
• Branches
• Merging work
• Rebase
• Restoring “lost” content
Commits
• Index sucks, don’t use it
• Commits are immutable and include commiter info
and timestamp
• Same snapshot can have two different commits
• git can’t decide whether commits should be quick
or really detailed
• provides facilities for both
Branches
• Just a pointer
• Different from a workflow “branch”
• The tracking branches
Merging work
• Default behaviour
• Fast-forward
• no-commit and no-ff
Rebase
• Why you should not bother
Recovering “lost” work
• reflog
• git gc
What’s your workflow?
• Good tool is just part of the story
• Quite easy to fall into a waterfall-like model
despite “best practices”
• http://whilefalse.blogspot.de/2013/02/branching-
is-easy-so.html
• git allows workflows that work just for you to work
in collaboration with others
Links
• Best git tutorial
• https://www.atlassian.com/git/tutorials/
• Gitology explained
• http://jordi.inversethought.com/blog/on-gitology/
• git, the good parts
• http://lucumr.pocoo.org/2015/2/17/ui-and-hidden-consistency/
• Torvalds on git and others
• https://www.youtube.com/watch?v=MShbP3OpASA
• https://www.youtube.com/watch?v=4XpnKHJAok8

More Related Content

What's hot

The Ruby workflow
The Ruby workflowThe Ruby workflow
The Ruby workflow
Clemens Helm
 
Mastering git
Mastering gitMastering git
Mastering git
Christopher Gomez
 
Microservices, DevOps, and Containers with OpenShift and Fabric8
Microservices, DevOps, and Containers with OpenShift and Fabric8Microservices, DevOps, and Containers with OpenShift and Fabric8
Microservices, DevOps, and Containers with OpenShift and Fabric8
Christian Posta
 
Sustaining Your Career
Sustaining Your CareerSustaining Your Career
Sustaining Your Career
Scott Lowe
 
Git basic
Git basicGit basic
Git basic
saif shobuz
 
KCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre AbstraccionesKCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre Abstracciones
Mauricio (Salaboy) Salatino
 
Beyond Ad-hoc Automation: Leveraging Structured Platforms
Beyond Ad-hoc Automation: Leveraging Structured PlatformsBeyond Ad-hoc Automation: Leveraging Structured Platforms
Beyond Ad-hoc Automation: Leveraging Structured Platforms
bridgetkromhout
 
Dutchcontainerdays
DutchcontainerdaysDutchcontainerdays
Dutchcontainerdays
4bakker
 
Presentation on GIT at Eminence
Presentation on GIT at EminencePresentation on GIT at Eminence
Presentation on GIT at Eminence
Farhan Ar Rafi
 
Cloud Native Java in Kubernetes
Cloud Native Java in KubernetesCloud Native Java in Kubernetes
Cloud Native Java in Kubernetes
Mauricio (Salaboy) Salatino
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIs
Tim Osborn
 
AWS Community Day - Bob Lee - Beware the Sandbox!
AWS Community Day  - Bob Lee - Beware the Sandbox!AWS Community Day  - Bob Lee - Beware the Sandbox!
AWS Community Day - Bob Lee - Beware the Sandbox!
AWS Chicago
 
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Christian Posta
 
Orchestrating Microservices
Orchestrating MicroservicesOrchestrating Microservices
Orchestrating Microservices
Mauricio (Salaboy) Salatino
 
GitHub Actions with Node.js
GitHub Actions with Node.jsGitHub Actions with Node.js
GitHub Actions with Node.js
Stefan Stölzle
 
CI/CD with GitHub Actions
CI/CD with GitHub ActionsCI/CD with GitHub Actions
CI/CD with GitHub Actions
Swaminathan Vetri
 
Closing the Cloud Skills Gap
Closing the Cloud Skills GapClosing the Cloud Skills Gap
Closing the Cloud Skills Gap
Scott Lowe
 
Git theory
Git   theoryGit   theory
Git theory
hariprasad1035
 
Plone goes social
Plone goes socialPlone goes social
Plone goes social
Guido Stevens
 
Qt Creator Bootcamp
Qt Creator BootcampQt Creator Bootcamp
Qt Creator Bootcamp
account inactive
 

What's hot (20)

The Ruby workflow
The Ruby workflowThe Ruby workflow
The Ruby workflow
 
Mastering git
Mastering gitMastering git
Mastering git
 
Microservices, DevOps, and Containers with OpenShift and Fabric8
Microservices, DevOps, and Containers with OpenShift and Fabric8Microservices, DevOps, and Containers with OpenShift and Fabric8
Microservices, DevOps, and Containers with OpenShift and Fabric8
 
Sustaining Your Career
Sustaining Your CareerSustaining Your Career
Sustaining Your Career
 
Git basic
Git basicGit basic
Git basic
 
KCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre AbstraccionesKCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre Abstracciones
 
Beyond Ad-hoc Automation: Leveraging Structured Platforms
Beyond Ad-hoc Automation: Leveraging Structured PlatformsBeyond Ad-hoc Automation: Leveraging Structured Platforms
Beyond Ad-hoc Automation: Leveraging Structured Platforms
 
Dutchcontainerdays
DutchcontainerdaysDutchcontainerdays
Dutchcontainerdays
 
Presentation on GIT at Eminence
Presentation on GIT at EminencePresentation on GIT at Eminence
Presentation on GIT at Eminence
 
Cloud Native Java in Kubernetes
Cloud Native Java in KubernetesCloud Native Java in Kubernetes
Cloud Native Java in Kubernetes
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIs
 
AWS Community Day - Bob Lee - Beware the Sandbox!
AWS Community Day  - Bob Lee - Beware the Sandbox!AWS Community Day  - Bob Lee - Beware the Sandbox!
AWS Community Day - Bob Lee - Beware the Sandbox!
 
Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes Microservices with Spring Cloud, Netflix OSS and Kubernetes
Microservices with Spring Cloud, Netflix OSS and Kubernetes
 
Orchestrating Microservices
Orchestrating MicroservicesOrchestrating Microservices
Orchestrating Microservices
 
GitHub Actions with Node.js
GitHub Actions with Node.jsGitHub Actions with Node.js
GitHub Actions with Node.js
 
CI/CD with GitHub Actions
CI/CD with GitHub ActionsCI/CD with GitHub Actions
CI/CD with GitHub Actions
 
Closing the Cloud Skills Gap
Closing the Cloud Skills GapClosing the Cloud Skills Gap
Closing the Cloud Skills Gap
 
Git theory
Git   theoryGit   theory
Git theory
 
Plone goes social
Plone goes socialPlone goes social
Plone goes social
 
Qt Creator Bootcamp
Qt Creator BootcampQt Creator Bootcamp
Qt Creator Bootcamp
 

Viewers also liked

R^2 llc General Intro Presentation-20160807
R^2 llc General Intro Presentation-20160807R^2 llc General Intro Presentation-20160807
R^2 llc General Intro Presentation-20160807
William S. Ruggles, BS, MA, PMP, CQM, CSSMBB, CSM
 
Customer loyalty in Indian Luxury Retail is a myth
Customer loyalty  in Indian Luxury Retail is a mythCustomer loyalty  in Indian Luxury Retail is a myth
Customer loyalty in Indian Luxury Retail is a myth
Abhay Gupta
 
Catedre upecista
Catedre upecistaCatedre upecista
Catedre upecista
Luis Pemberthy
 
Watch now fifa womens worldcup 2015 final
Watch  now fifa womens worldcup 2015 finalWatch  now fifa womens worldcup 2015 final
Watch now fifa womens worldcup 2015 final
eoinmorgan44
 
Augusto Moriames cv
Augusto Moriames cvAugusto Moriames cv
Augusto Moriames cv
Augusto Moriames
 
148320592002 SWOT Analysis Of new pharmaceutical Companies
148320592002 SWOT Analysis Of new pharmaceutical Companies148320592002 SWOT Analysis Of new pharmaceutical Companies
148320592002 SWOT Analysis Of new pharmaceutical Companies
Dharmik Bhatt
 
Comic
ComicComic
Percobaan tekanan udara
Percobaan tekanan udaraPercobaan tekanan udara
Percobaan tekanan udara
Titi Suryati
 
TEKANAN UDARA
TEKANAN UDARATEKANAN UDARA
TEKANAN UDARA
annaoktaviani
 
6-Critical-Stats-for-Customer-Loyalty-Thanx
6-Critical-Stats-for-Customer-Loyalty-Thanx6-Critical-Stats-for-Customer-Loyalty-Thanx
6-Critical-Stats-for-Customer-Loyalty-Thanx
Oliver Kopitz
 
Bab tekanan udara
Bab tekanan udaraBab tekanan udara
Bab tekanan udara
jane nour
 
Key Features of E-Commerce
Key Features of E-CommerceKey Features of E-Commerce
Key Features of E-Commerce
Umer Awan
 

Viewers also liked (13)

R^2 llc General Intro Presentation-20160807
R^2 llc General Intro Presentation-20160807R^2 llc General Intro Presentation-20160807
R^2 llc General Intro Presentation-20160807
 
Customer loyalty in Indian Luxury Retail is a myth
Customer loyalty  in Indian Luxury Retail is a mythCustomer loyalty  in Indian Luxury Retail is a myth
Customer loyalty in Indian Luxury Retail is a myth
 
Śniadanie Daje Moc
Śniadanie Daje MocŚniadanie Daje Moc
Śniadanie Daje Moc
 
Catedre upecista
Catedre upecistaCatedre upecista
Catedre upecista
 
Watch now fifa womens worldcup 2015 final
Watch  now fifa womens worldcup 2015 finalWatch  now fifa womens worldcup 2015 final
Watch now fifa womens worldcup 2015 final
 
Augusto Moriames cv
Augusto Moriames cvAugusto Moriames cv
Augusto Moriames cv
 
148320592002 SWOT Analysis Of new pharmaceutical Companies
148320592002 SWOT Analysis Of new pharmaceutical Companies148320592002 SWOT Analysis Of new pharmaceutical Companies
148320592002 SWOT Analysis Of new pharmaceutical Companies
 
Comic
ComicComic
Comic
 
Percobaan tekanan udara
Percobaan tekanan udaraPercobaan tekanan udara
Percobaan tekanan udara
 
TEKANAN UDARA
TEKANAN UDARATEKANAN UDARA
TEKANAN UDARA
 
6-Critical-Stats-for-Customer-Loyalty-Thanx
6-Critical-Stats-for-Customer-Loyalty-Thanx6-Critical-Stats-for-Customer-Loyalty-Thanx
6-Critical-Stats-for-Customer-Loyalty-Thanx
 
Bab tekanan udara
Bab tekanan udaraBab tekanan udara
Bab tekanan udara
 
Key Features of E-Commerce
Key Features of E-CommerceKey Features of E-Commerce
Key Features of E-Commerce
 

Similar to Getting intimate with Git

Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepoGit in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Gina Bustos
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Perforce
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
Ovidiu Dimulescu
 
Intro to Git & GitHub
Intro to Git & GitHubIntro to Git & GitHub
Intro to Git & GitHub
GoogleDevelopersStud
 
Git at an Enterprise
Git at an EnterpriseGit at an Enterprise
Git at an Enterprise
Sergey Titov, Ph.D.
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network Engineers
Joel W. King
 
Git/Github & Salesforce
Git/Github & Salesforce Git/Github & Salesforce
Git/Github & Salesforce
Gordon Bockus
 
Git and github
Git and githubGit and github
Git and github
Sayantika Banik
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?
Bruno Capuano
 
Git
GitGit
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
Daniel Bryant
 
Fundamentals of Git
Fundamentals of GitFundamentals of Git
Fundamentals of Git
cmckni3
 
Git SVN Migrate Reasons
Git SVN Migrate ReasonsGit SVN Migrate Reasons
Git SVN Migrate Reasons
Ovidiu Dimulescu
 
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
Daniel Bryant
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
AppDynamics
 
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGroup
 
Managing changes to eZPublish Database
Managing changes to eZPublish DatabaseManaging changes to eZPublish Database
Managing changes to eZPublish Database
Gaetano Giunta
 
Managing Changes to the Database Across the Project Life Cycle (presented by ...
Managing Changes to the Database Across the Project Life Cycle (presented by ...Managing Changes to the Database Across the Project Life Cycle (presented by ...
Managing Changes to the Database Across the Project Life Cycle (presented by ...
eZ Systems
 
simple Introduction to git
simple Introduction to gitsimple Introduction to git
simple Introduction to git
Omid Khosrojerdi
 
Get your Project back in Shape!
Get your Project back in Shape!Get your Project back in Shape!
Get your Project back in Shape!
Joachim Tuchel
 

Similar to Getting intimate with Git (20)

Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepoGit in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Intro to Git & GitHub
Intro to Git & GitHubIntro to Git & GitHub
Intro to Git & GitHub
 
Git at an Enterprise
Git at an EnterpriseGit at an Enterprise
Git at an Enterprise
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network Engineers
 
Git/Github & Salesforce
Git/Github & Salesforce Git/Github & Salesforce
Git/Github & Salesforce
 
Git and github
Git and githubGit and github
Git and github
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?
 
Git
GitGit
Git
 
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
 
Fundamentals of Git
Fundamentals of GitFundamentals of Git
Fundamentals of Git
 
Git SVN Migrate Reasons
Git SVN Migrate ReasonsGit SVN Migrate Reasons
Git SVN Migrate Reasons
 
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
 
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
 
Managing changes to eZPublish Database
Managing changes to eZPublish DatabaseManaging changes to eZPublish Database
Managing changes to eZPublish Database
 
Managing Changes to the Database Across the Project Life Cycle (presented by ...
Managing Changes to the Database Across the Project Life Cycle (presented by ...Managing Changes to the Database Across the Project Life Cycle (presented by ...
Managing Changes to the Database Across the Project Life Cycle (presented by ...
 
simple Introduction to git
simple Introduction to gitsimple Introduction to git
simple Introduction to git
 
Get your Project back in Shape!
Get your Project back in Shape!Get your Project back in Shape!
Get your Project back in Shape!
 

Recently uploaded

Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 

Recently uploaded (20)

Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 

Getting intimate with Git

  • 1. Getting intimate with the stupid content tracker
  • 2. Agenda • What is a Version Control System? • So why is git called the “stupid content tracker”? • More detailed look at everyday tasks with git • Word on workflows
  • 3. VCS No more: - “who overwrote my changes” - “which version of the file are you working on? Noooo that’s out of date”
  • 4. Enter git putting “distributed” into DVCS, kinda • most popular VCS • at heart of the biggest open source community • legendary creator, very competent community and yet…
  • 5. Bit of history • Linus Torvalds starts Linux kernel dev in 1991 • “how card can it be to port Unix” • Becomes biggest open source project in history, still going strong after 25 years • No VCS solution available for such a big project • git dev starts in 2005, by a guy heavily into micro- optimisation and not at all into UX
  • 6. What does it mean? • Beautiful example of real world optimisation • Putting developers needs first • Best DVCS is ironically offline • Really fast, scales up to the biggest projects • “The UI is horrible” doesn’t even begin to describe the awfulness
  • 8.
  • 9. Getting dirty • Commits • Branches • Merging work • Rebase • Restoring “lost” content
  • 10. Commits • Index sucks, don’t use it • Commits are immutable and include commiter info and timestamp • Same snapshot can have two different commits • git can’t decide whether commits should be quick or really detailed • provides facilities for both
  • 11. Branches • Just a pointer • Different from a workflow “branch” • The tracking branches
  • 12. Merging work • Default behaviour • Fast-forward • no-commit and no-ff
  • 13. Rebase • Why you should not bother
  • 14. Recovering “lost” work • reflog • git gc
  • 15. What’s your workflow? • Good tool is just part of the story • Quite easy to fall into a waterfall-like model despite “best practices” • http://whilefalse.blogspot.de/2013/02/branching- is-easy-so.html • git allows workflows that work just for you to work in collaboration with others
  • 16. Links • Best git tutorial • https://www.atlassian.com/git/tutorials/ • Gitology explained • http://jordi.inversethought.com/blog/on-gitology/ • git, the good parts • http://lucumr.pocoo.org/2015/2/17/ui-and-hidden-consistency/ • Torvalds on git and others • https://www.youtube.com/watch?v=MShbP3OpASA • https://www.youtube.com/watch?v=4XpnKHJAok8