SlideShare ist ein Scribd-Unternehmen logo
1 von 112
Xx de enero de 2010 Use git without rage
“VCS should be a subject in informatics” Heared about VCS
“ We use VCS as if we were trained monkeys” Heared about VCS
Types of VCS LVCS (Localized VCS) CVCS (Centralized VCS) DVCS (Distributed VCS)
LVCS ,[object Object]
rcs (mac os)
CVCS (Centralized VCS) ,[object Object]
CVS
DVCS (Distributed VCS) ,[object Object]
Mercurial
Git Basics
First-time git setup ,[object Object]
Global: git config --global (~/.gitconfig)
Local: git config (cwd) ,[object Object]
git config --global user.name 'wadus'
Git Basics
File status cycle untracked staged modified unmodified git add edit git add git commit git commit -a
Workflows ,[object Object]
Scenario 1: creating the repository  ,[object Object]
Workflows -Scenario 1: edit some files ,[object Object]
Workflows -Scenario 1: commiting changes ,[object Object]
Workflows - Scenario 1: adding files to the staging area ,[object Object]
Workflows – Scenario 1: Removing files from the staging area ,[object Object]
Workflows – Scenario 1: What am I about to commit? ,[object Object]
Workflows – Scenario 1: Let's commit!!! ,[object Object]
Workflows – Scenario 1: deleting files ,[object Object]
Workflows – Scenario 1: undeleting files ,[object Object]
Workflows – Scenario 1: moving files ,[object Object]
Workfows- Scenario 1: undoing things ,[object Object]
Workfows- Scenario 1: undoing things (ii) ,[object Object]
Workflows ,[object Object]
Workfows- Scenario 2: adding a remote ,[object Object]
Workfows- Scenario 2: showing your remotes ,[object Object]
Workfows- Scenario 2: fetching and pulling ,[object Object]
Workfows- Scenario 2: pushing ,[object Object]
Workfows- Scenario 2: inspecting a remote ,[object Object]
Workfows- Scenario 2: removing and renaming remotes ,[object Object]
Workflows ,[object Object]
Workfows- Scenario 3: listing tags ,[object Object]
Workfows- Scenario 3: tag types ,[object Object]
Workfows- Scenario 3: Creating and showing tags ,[object Object]
Workfows- Scenario 3: Creating tags later ,[object Object]
Workfows- Scenario 3: Sharing tags ,[object Object]
Branching: the beginning of magic Please, keep on thinking in local... or I will send @pacoguzman to kill you!!!
Branching: the beginning of magic ,[object Object]
Branching: the beginning of magic taken from http://progit.org/
Branching: the beginning of magic ,[object Object]
Branching: the beginning of magic taken from http://progit.org/
Branching: the beginning of magic ,[object Object]
Branching: the beginning of magic ,[object Object],A very bad geek joke
Branching: the beginning of magic ,[object Object]
Branching: the beginning of magic taken from http://progit.org/
Branching: the beginning of magic ,[object Object]
Branching: the beginning of magic taken from http://progit.org/
Branching: the beginning of magic ,[object Object]
Branching: the beginning of magic taken from http://progit.org/
Branching: the beginning of magic ,[object Object]
Branching: the beginning of magic taken from http://progit.org/
Branching: the beginning of magic ,[object Object]
Branching: the beginning of magic ,[object Object]
Branching: the beginning of magic taken from http://progit.org/
Branching: the beginning of magic ,[object Object]
Branching: the beginning of magic taken from http://progit.org/
Branching: the beginning of magic ,[object Object]
Branching: the beginning of magic taken from http://progit.org/
Workflows ,[object Object]
Scenario 4: Context ,[object Object]
Scenario 4: steps resume ,[object Object]
Do some work on that branch
Swear after you receive that f*ck*ng damned call
Commit or stash all the changes that you haven't saved yet – if you want to -
Checkout your production (usually master) branch
Create a branch to add the hotfix
Fix that so f*ck*ng urgent issue
Merge this branch and push it to production
Switch back to your original story and continue working on it
Scenario 4: the process ,[object Object],C1 C3 C2 master * issue_1
Scenario 4: the process ,[object Object],C1 C3 C2 master * issue_1 C4
Scenario 4: the process ,[object Object],C1 C3 C2 master issue_1 C4 * hotfix
Scenario 4: the process ,[object Object],C1 C3 C2 master issue_1 C4 * hotfix C5
Scenario 4: fast forward merge ,[object Object],C1 C3 C2 * master issue_1 C4 hotfix C5
Scenario 4: fast forward merge ,[object Object],C1 C3 C2 * master issue_1 C4 hotfix C5
Scenario 4: the process ,[object Object],C1 C3 C2 * master issue_1 C4 hotfix C5 C6
Scenario 4: three way merge ,[object Object],C3 issue_1 C4 hotfix C5 C6 * master
Scenario 4: three way merge ,[object Object],C3 * master issue_1 C4 hotfix C5 C6 C7
Scenario 4: merge conflicts ,[object Object]
Scenario 4: branch management ,[object Object]
Branching workflows
Branching workflows: long running branches taken from http://progit.org/
Branching workflows: topic branches taken from http://progit.org/
Branching workflows: topic branches ,[object Object],taken from http://progit.org/
Remote branches ,[object Object]
Pushing branches ,[object Object]
Deleting remote branches ,[object Object]
Tracking branches ,[object Object]
Rebasing
Basic rebasing vs merge ,[object Object],taken from http://progit.org/
Basic rebasing vs merge ,[object Object]
Basic rebasing vs merge taken from http://progit.org/
Basic rebasing vs merge ,[object Object]
Basic rebasing vs merge ,[object Object],taken from http://progit.org/
Rebasing onto other branches taken from http://progit.org/
Rebasing onto other branches ,[object Object],taken from http://progit.org/
Rebasing onto other branches ,[object Object],taken from http://progit.org/
Rebasing onto other branches ,[object Object],taken from http://progit.org/
Rebasing or not rebasing? ,[object Object]
Rebasing or not rebasing? taken from http://progit.org/
Rebasing or not rebasing? ,[object Object],taken from http://progit.org/
Rebasing or not rebasing? ,[object Object],taken from http://progit.org/
Rebasing or not rebasing? ,[object Object],taken from http://progit.org/
DISTRIBUTED WORKFLOWS
Centralized workflow (small teams) taken from http://progit.org/

Weitere ähnliche Inhalte

Was ist angesagt?

Ankara jug mayıs 2013 sunumu
Ankara jug mayıs 2013 sunumuAnkara jug mayıs 2013 sunumu
Ankara jug mayıs 2013 sunumu
Ankara JUG
 

Was ist angesagt? (20)

Git - Get Ready To Use It
Git - Get Ready To Use ItGit - Get Ready To Use It
Git - Get Ready To Use It
 
Git internals
Git internalsGit internals
Git internals
 
Versions
VersionsVersions
Versions
 
Getting some Git
Getting some GitGetting some Git
Getting some Git
 
GIT in a nutshell
GIT in a nutshellGIT in a nutshell
GIT in a nutshell
 
Git real slides
Git real slidesGit real slides
Git real slides
 
Git and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern DeveloperGit and github - Verson Control for the Modern Developer
Git and github - Verson Control for the Modern Developer
 
Learning Git with Workflows
Learning Git with WorkflowsLearning Git with Workflows
Learning Git with Workflows
 
PuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With Notes
 
Git & GitHub WorkShop
Git & GitHub WorkShopGit & GitHub WorkShop
Git & GitHub WorkShop
 
Advanced Git
Advanced GitAdvanced Git
Advanced Git
 
Continuous Delivery of Puppet Manifests
Continuous Delivery of Puppet ManifestsContinuous Delivery of Puppet Manifests
Continuous Delivery of Puppet Manifests
 
How to Really Get Git
How to Really Get GitHow to Really Get Git
How to Really Get Git
 
Learn Git Basics
Learn Git BasicsLearn Git Basics
Learn Git Basics
 
Grokking opensource with github
Grokking opensource with githubGrokking opensource with github
Grokking opensource with github
 
Git - a powerful version control tool
Git - a powerful version control toolGit - a powerful version control tool
Git - a powerful version control tool
 
Introduction to Griffon
Introduction to GriffonIntroduction to Griffon
Introduction to Griffon
 
groovy & grails - lecture 10
groovy & grails - lecture 10groovy & grails - lecture 10
groovy & grails - lecture 10
 
Git in a nutshell
Git in a nutshellGit in a nutshell
Git in a nutshell
 
Ankara jug mayıs 2013 sunumu
Ankara jug mayıs 2013 sunumuAnkara jug mayıs 2013 sunumu
Ankara jug mayıs 2013 sunumu
 

Ähnlich wie How to use git without rage

Git 入门 与 实践
Git 入门 与 实践Git 入门 与 实践
Git 入门 与 实践
Terry Wang
 
Git 入门与实践
Git 入门与实践Git 入门与实践
Git 入门与实践
Terry Wang
 
Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control System
Victor Wong
 
Git For The Android Developer
Git For The Android DeveloperGit For The Android Developer
Git For The Android Developer
Effective
 

Ähnlich wie How to use git without rage (20)

Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)
 
Git Started With Git
Git Started With GitGit Started With Git
Git Started With Git
 
Introduction to Git for Artists
Introduction to Git for ArtistsIntroduction to Git for Artists
Introduction to Git for Artists
 
Git - (a) Gentle InTroduction
Git - (a) Gentle InTroductionGit - (a) Gentle InTroduction
Git - (a) Gentle InTroduction
 
Wokshop de Git
Wokshop de Git Wokshop de Git
Wokshop de Git
 
Git 入门 与 实践
Git 入门 与 实践Git 入门 与 实践
Git 入门 与 实践
 
Git 入门与实践
Git 入门与实践Git 入门与实践
Git 入门与实践
 
Git
GitGit
Git
 
Jedi Mind Tricks in Git
Jedi Mind Tricks in GitJedi Mind Tricks in Git
Jedi Mind Tricks in Git
 
Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control System
 
Jedi Mind Tricks for Git
Jedi Mind Tricks for GitJedi Mind Tricks for Git
Jedi Mind Tricks for Git
 
Git
GitGit
Git
 
Mastering git - Workflow
Mastering git - WorkflowMastering git - Workflow
Mastering git - Workflow
 
Loading...git
Loading...gitLoading...git
Loading...git
 
Git For The Android Developer
Git For The Android DeveloperGit For The Android Developer
Git For The Android Developer
 
GDSC GIT AND GITHUB
GDSC GIT AND GITHUB GDSC GIT AND GITHUB
GDSC GIT AND GITHUB
 
Git in 10 minutes
Git in 10 minutesGit in 10 minutes
Git in 10 minutes
 
Presentacion git
Presentacion gitPresentacion git
Presentacion git
 
Git Tech Talk
Git  Tech TalkGit  Tech Talk
Git Tech Talk
 
Introduction To Git Workshop
Introduction To Git WorkshopIntroduction To Git Workshop
Introduction To Git Workshop
 

Mehr von Javier Lafora Rey

Mehr von Javier Lafora Rey (8)

An introduction to Vue.js
An introduction to Vue.jsAn introduction to Vue.js
An introduction to Vue.js
 
Modular development with redux
Modular development with reduxModular development with redux
Modular development with redux
 
Understanding big data-drupalcamp
Understanding big data-drupalcampUnderstanding big data-drupalcamp
Understanding big data-drupalcamp
 
API REST for beginners or why you should make your API understandable
API REST for beginners or why you should make your API understandableAPI REST for beginners or why you should make your API understandable
API REST for beginners or why you should make your API understandable
 
APIs para gente normal
APIs para gente normalAPIs para gente normal
APIs para gente normal
 
¿Por qué ruby on rails?
¿Por qué ruby on rails?¿Por qué ruby on rails?
¿Por qué ruby on rails?
 
Ruby object model: A matter of life and death
Ruby object model: A matter of life and deathRuby object model: A matter of life and death
Ruby object model: A matter of life and death
 
ROA - Resource Oriented Architecture
ROA - Resource Oriented ArchitectureROA - Resource Oriented Architecture
ROA - Resource Oriented Architecture
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

How to use git without rage