SlideShare una empresa de Scribd logo
1 de 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/

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Similar a 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
 

Similar a 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
 

Más de Javier Lafora Rey

Más de 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
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

How to use git without rage