SlideShare a Scribd company logo
Why you should be using




       with very high probability...



                                       Francisco Vieira
What is git?
●   VCS
●   Open source
●   Distributed
●   Offline
●   Fast
●   Flexible
●   Complex
●   Not SVN
Command Glossary
●   Init – Create a repository
●   Clone – Clone a repository (svn checkout)
●   Commit – Offline commit
●   Merge
●   Pull – Download changes from remote repo
    (svn update)
●   Push – Upload changes to remote repo (svn
    does this on each commit)
git is...

DISTRIBUTED
Centralized
Distributed
              Backups


              Offline
              operations


              Fast


              Multiple
              workflows
              possible
Distributed Workflows
      Centralized
Distributed Workflows
      Github-like




          git init
Distributed Workflows
      Github-like




         git clone
Distributed Workflows
      Github-like




         git commit
Distributed Workflows
      Github-like




         git push
Distributed Workflows
      Github-like




         git clone
Distributed Workflows
      Github-like




         git clone
Distributed Workflows
      Github-like




         git commit
Distributed Workflows
      Github-like




         git push
Distributed Workflows
      Github-like




        Pull Request
Distributed Workflows
      Github-like




          git pull
Distributed Workflows
      Github-like




         git push
Distributed Workflows
      Github-like
git has...

A STAGING AREA
Staging Area
Staging Area
Staging Area – Example
Staging Area – Example
git has...

EASY BRANCHING
Branching



2fbc...      3fab...   b99d...
Branching



1       2       3
Branching


                master


1       2         3
Branching

                HEAD

                master


1       2         3
Branching

                          HEAD

                          master


1    2                3     4




         git commit
Branching

                              HEAD

                              master


1    2                   3      4


                              feature




         git branch feature
Branching


                            master


1    2                3       4


                            feature

                            HEAD


     git checkout feature
Branching


                       master



1   2        3           4        5


                                feature


                                HEAD


          git commit
Branching

                               HEAD

                               master



1   2           3                4        5


                                        feature




         git checkout master
Branching
                       HEAD

                       master



                         6



1   2        3           4        5


                                feature



          git commit
Branching
                                 HEAD

                                 master



                             6     7



1   2          3             4     5


                                 feature



         git merge feature
Branching
                                     HEAD

                                     master



                                 6     7



1   2            3               4     5




         git branch -d feature
Tagging

              HEAD

              master


1   2     3     4
Tagging

                           HEAD

                           master


1   2                  3     4


                            v0.1




        git tag v0.1
Tagging
                         HEAD

                         master



                   6       7



1   2      3       4       5


                  v0.1
Tagging

                                   master



                             6       7



1   2         3              4       5


                            v0.1


                            HEAD

        git checkout v0.1
Why You Should Be Using Git
Why You Should Be Using Git
but...

WHY BRANCHING?!
Typical Release Cycle
Typical Release Cycle
Git
flow
Git flow




   git init
Git flow

master



  1




           git commit
Git flow

    master



1     2




               git commit
Git flow

           master



1   2        3




          git commit
Git flow

          master



1   2        3


           v0.1




         git tag v0.1
Git flow

            master



1   2         3           dev


             v0.1




         git branch dev
Git flow

           master      dev



1   2        3         4


            v0.1




          git commit
Git flow

           master          dev



1   2        3         4   5


            v0.1




          git commit
Git flow

             master                 dev



1   2          3              4      5


              v0.1                feature1




        git branch feature1
Git flow
      master           dev


...     3      4        5


       v0.1          feature1
Git flow
      master            dev


...     3      4         5


       v0.1
                         6


                      feature1




                     git commit
Git flow
      master            dev


...     3      4         5


       v0.1
                         6           7


                                  feature1




                     git commit
Git flow
      master                        dev


...     3      4         5           8


       v0.1
                         6           7


                                  feature1




                     git commit
Git flow
      master                      dev


...     3      4         5        8


       v0.1
                         6         7       9


                                        feature1




                     git commit
Git flow
      master                                  dev


...     3      4           5            8     10


       v0.1
                           6            7      9


                                            feature1




                   git merge feature1
Git flow
      master                                    dev


...     3      4             5              8   10


       v0.1
                             6              7   9




                   git branch -d feature1
Git flow



      master


...     3      4       5      8   10   dev


       v0.1
                       6      7   9
Git flow



      master                                     release-v1.0


...     3      4             5               8       10         dev


       v0.1
                             6               7        9


                   git branch release-v1.0
Git flow

                                      release-v1.0



                                          11
      master


...     3      4         5        8       10         dev


       v0.1
                         6        7        9


                     git commit
Git flow
                                      release-v1.0



                                          12



                                          11
      master


...     3      4         5        8       10         dev


       v0.1
                         6        7        9


                     git commit
Git flow
                                      release-v1.0



                                          12



                                          11
      master


...     3      4         5        8       10         13


       v0.1                                          dev
                         6        7        9


                     git commit
Git flow
                                     master    release-v1.0



                                          14       12



                                                   11



...    3     4             5              8        10         13


      v0.1                                                    dev
                           6              7         9


                 git merge release-v1.0
Git flow
                                 master   release-v1.0



                                  14          12


                                  v1.0
                                              11



...    3     4         5           8          10         13


      v0.1                                               dev
                       6           7           9


                  git tag v1.0
Git flow
                                     master    release-v1.0   dev



                                          14       12         15


                                      v1.0
                                                   11



...    3     4             5              8        10         13


      v0.1
                           6              7         9


                 git merge release-v1.0
Git flow
                                    master        dev



                                      14     12   15


                                     v1.0
                                             11



...    3     4           5            8      10   13


      v0.1
                         6            7      9


             git branch -d release-v1.0
Git flow
                            master        dev



                             14      12   15


                             v1.0
                                     11



...    3     4       5        8      10   13


      v0.1
                     6        7      9
Git flow



             master        dev


...    3      14           15
                      12

      v0.1    v1.0

               ...
Git flow



             master                    dev


...    3      14                  15   16
                             12

      v0.1    v1.0

               ...
                git commit
Git flow



             master          hotfix             dev


...    3               14                  15   16
                                      12

      v0.1            v1.0

                       ...
                      git branch hotfix
Git flow


                       17         hotfix
             master                             dev


...    3               14                  15   16
                                      12

      v0.1             v1.0

                       ...
                         git commit
Git flow

                       18         hotfix



                       17
             master                             dev


...    3               14                  15   16
                                      12

      v0.1             v1.0

                       ...
                         git commit
Git flow

             master     18         hotfix



                        17
                                                 dev


...    3                14                  15   16
                                     12

      v0.1             v1.0

                        ...
                       git merge hotfix
Git flow
                       v1.1


             master    18          hotfix



                       17
                                                 dev


...    3               14                   15   16
                                       12

      v0.1             v1.0

                       ...
                        git tag v1.1
Git flow
                       v1.1


             master     18         hotfix
                                                 dev



                        17                       19



...    3                14                  15   16
                                     12

      v0.1             v1.0

                        ...
                       git merge hotfix
Git flow
                        v1.1


             master     18
                                                  dev



                        17                        19



...    3                14                   15   16
                                      12

      v0.1              v1.0

                         ...
                      git branch -d hotfix
Git
flow
Git flow at SAPO
Why You Should Be Using Git
Tópicos extra
●   Repositório local de backup.
●   Mudar de repositorio remoto.
●   Push para dois repositórios diferentes.
●   Corrigir o último commit.
●   Stashing.
●   Rebase.
Merge


master   9ef8           e404   branch   HEAD




         438b           0928



                 a4c6
Merge
                    branch         HEAD


                    2e71


master   9ef8                  e404



         438b                  0928



                    a4c6



                git merge master
Rebase


master   9ef8            e404   branch   HEAD




         438b            0928



                  a4c6
Rebase

                       13d4         branch   HEAD



master   9ef8          a431



         438b



                    a4c6



                git rebase master
GUI Clients
●   git-gui (for commiting) and gitk (for browsing)
●   Github Client (Windows and Osx)
●   SourceTree (Osx)
●   TortoiseGit (Windows)
●   Gitg (Gnome)

●   See more here:
    http://git-scm.com/downloads/guis
References
●   Git flow - http://nvie.com/posts/a-successful-git-branching-model/
●   Pro git book - http://git-scm.com/book
●   Git tutorial - http://gitimmersion.com/
●   Cheat sheet -
    http://media.developerforce.com/cheatsheets/SF_GIT_2Pg_HR_V10.pdf

●   Visual cheatsheet - http://ndpsoftware.com/git-cheatsheet.html
●   GitHub - https://github.com/
●   Heroku - http://www.heroku.com/
Why You Should Be Using Git
Ad

More Related Content

What's hot (19)

Did you git yet?
Did you git yet?Did you git yet?
Did you git yet?
Michael Fong
 
Wokshop de Git
Wokshop de Git Wokshop de Git
Wokshop de Git
Alberto Leal
 
Open Source Collaboration With Git And Git Hub
Open Source Collaboration With Git And Git HubOpen Source Collaboration With Git And Git Hub
Open Source Collaboration With Git And Git Hub
Nick Quaranto
 
Git advanced
Git advancedGit advanced
Git advanced
Peter Vandenabeele
 
Git 101 tutorial presentation
Git 101 tutorial presentationGit 101 tutorial presentation
Git 101 tutorial presentation
Terry Wang
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
Fran García
 
Source control management
Source control managementSource control management
Source control management
Owen Winkler
 
Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015
mwrather
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction Tutorial
Thomas Rausch
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
glen_a_smith
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHub
Bioinformatics and Computational Biosciences Branch
 
Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...
SlideTeam
 
Brief tutorial on Git
Brief tutorial on GitBrief tutorial on Git
Brief tutorial on Git
聖文 鄭
 
Un-split brain MySQL
Un-split brain MySQLUn-split brain MySQL
Un-split brain MySQL
Shlomi Noach
 
Advanced Git: Functionality and Features
Advanced Git: Functionality and FeaturesAdvanced Git: Functionality and Features
Advanced Git: Functionality and Features
Brent Laster
 
GIT presentation
GIT presentationGIT presentation
GIT presentation
Naim Latifi
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
Nicolás Tourné
 
What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...
What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...
What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...
Edureka!
 
Git Basics Philips
Git Basics PhilipsGit Basics Philips
Git Basics Philips
Ariejan de Vroom
 
Open Source Collaboration With Git And Git Hub
Open Source Collaboration With Git And Git HubOpen Source Collaboration With Git And Git Hub
Open Source Collaboration With Git And Git Hub
Nick Quaranto
 
Git 101 tutorial presentation
Git 101 tutorial presentationGit 101 tutorial presentation
Git 101 tutorial presentation
Terry Wang
 
Source control management
Source control managementSource control management
Source control management
Owen Winkler
 
Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015
mwrather
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction Tutorial
Thomas Rausch
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
glen_a_smith
 
Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...Introduction To Git For Version Control Architecture And Common Commands Comp...
Introduction To Git For Version Control Architecture And Common Commands Comp...
SlideTeam
 
Brief tutorial on Git
Brief tutorial on GitBrief tutorial on Git
Brief tutorial on Git
聖文 鄭
 
Un-split brain MySQL
Un-split brain MySQLUn-split brain MySQL
Un-split brain MySQL
Shlomi Noach
 
Advanced Git: Functionality and Features
Advanced Git: Functionality and FeaturesAdvanced Git: Functionality and Features
Advanced Git: Functionality and Features
Brent Laster
 
GIT presentation
GIT presentationGIT presentation
GIT presentation
Naim Latifi
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
Nicolás Tourné
 
What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...
What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...
What is Git | What is GitHub | Git Tutorial | GitHub Tutorial | Devops Tutori...
Edureka!
 

Viewers also liked (7)

Nova Outside Assess Your Watershed Tree Canopy Workshop 2013
Nova Outside Assess Your Watershed Tree Canopy Workshop 2013Nova Outside Assess Your Watershed Tree Canopy Workshop 2013
Nova Outside Assess Your Watershed Tree Canopy Workshop 2013
Mary Van Dyke
 
Lighting Presentation
Lighting PresentationLighting Presentation
Lighting Presentation
Denise Kline
 
Tree Report Cards: Progress or Poison?
Tree Report Cards: Progress or Poison?Tree Report Cards: Progress or Poison?
Tree Report Cards: Progress or Poison?
Arbor Day Foundation
 
Urban Tree Canopy Change Assessment for Southern Oahu
Urban Tree Canopy Change Assessment for Southern OahuUrban Tree Canopy Change Assessment for Southern Oahu
Urban Tree Canopy Change Assessment for Southern Oahu
Hawaii Geographic Information Coordinating Council
 
Considering Trees in Development Activities
Considering Trees in Development ActivitiesConsidering Trees in Development Activities
Considering Trees in Development Activities
Andrew Lueck
 
Canopy management | Practices & Information
Canopy management | Practices & InformationCanopy management | Practices & Information
Canopy management | Practices & Information
Anand Charvin
 
Canopy & light
Canopy & light Canopy & light
Canopy & light
Muhamad Zharif
 
Nova Outside Assess Your Watershed Tree Canopy Workshop 2013
Nova Outside Assess Your Watershed Tree Canopy Workshop 2013Nova Outside Assess Your Watershed Tree Canopy Workshop 2013
Nova Outside Assess Your Watershed Tree Canopy Workshop 2013
Mary Van Dyke
 
Lighting Presentation
Lighting PresentationLighting Presentation
Lighting Presentation
Denise Kline
 
Tree Report Cards: Progress or Poison?
Tree Report Cards: Progress or Poison?Tree Report Cards: Progress or Poison?
Tree Report Cards: Progress or Poison?
Arbor Day Foundation
 
Considering Trees in Development Activities
Considering Trees in Development ActivitiesConsidering Trees in Development Activities
Considering Trees in Development Activities
Andrew Lueck
 
Canopy management | Practices & Information
Canopy management | Practices & InformationCanopy management | Practices & Information
Canopy management | Practices & Information
Anand Charvin
 
Ad

Similar to Why You Should Be Using Git (20)

Introduction To Git
Introduction To GitIntroduction To Git
Introduction To Git
Arnaud Seilles
 
Git basic stanley hsiao 2010_12_15
Git basic stanley hsiao 2010_12_15Git basic stanley hsiao 2010_12_15
Git basic stanley hsiao 2010_12_15
Chen-Han Hsiao
 
Git
GitGit
Git
joren de groof
 
M.Mozūras - git
M.Mozūras - gitM.Mozūras - git
M.Mozūras - git
Agile Lietuva
 
Git for the Android Developer
Git for the Android DeveloperGit for the Android Developer
Git for the Android Developer
Effective
 
Git for the Android Developer
Git for the Android DeveloperGit for the Android Developer
Git for the Android Developer
EffectiveUI
 
Git Tech Talk
Git  Tech TalkGit  Tech Talk
Git Tech Talk
Chris Johnson
 
Session git
Session gitSession git
Session git
Roni Saha
 
Git
GitGit
Git
Jeroen Jacobs
 
Git
GitGit
Git
ArrrrCamp
 
インフラエンジニアのためのGit入門
インフラエンジニアのためのGit入門インフラエンジニアのためのGit入門
インフラエンジニアのためのGit入門
Kouhei Maeda
 
Git basic
Git basicGit basic
Git basic
Emran Ul Hadi
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control System
KMS Technology
 
Git
GitGit
Git
Daniel Kummer
 
Git in Eclipse
Git in EclipseGit in Eclipse
Git in Eclipse
Dariusz Łuksza
 
Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)Introduction to Git (Greg Lonnon)
Introduction to Git (Greg Lonnon)
Boise Web Technologies Group
 
Using git in eclipse by Chris Aniszczyk
Using git in eclipse by Chris AniszczykUsing git in eclipse by Chris Aniszczyk
Using git in eclipse by Chris Aniszczyk
EclipseDayParis
 
The git
The gitThe git
The git
Leonardo YongUk Kim
 
Git basics to advance with diagrams
Git basics to advance with diagramsGit basics to advance with diagrams
Git basics to advance with diagrams
Dilum Navanjana
 
Git Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a BossGit Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a Boss
tmacwilliam
 
Ad

Recently uploaded (20)

AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Leading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael JidaelLeading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael Jidael
Michael Jidael
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
 
Image processinglab image processing image processing
Image processinglab image processing  image processingImage processinglab image processing  image processing
Image processinglab image processing image processing
RaghadHany
 
Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.
gregtap1
 
Asthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdfAsthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdf
VanessaRaudez
 
Learn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step GuideLearn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step Guide
Marcel David
 
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5..."Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
Fwdays
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko
Fwdays
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Leading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael JidaelLeading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael Jidael
Michael Jidael
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
 
Image processinglab image processing image processing
Image processinglab image processing  image processingImage processinglab image processing  image processing
Image processinglab image processing image processing
RaghadHany
 
Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.
gregtap1
 
Asthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdfAsthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdf
VanessaRaudez
 
Learn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step GuideLearn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step Guide
Marcel David
 
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5..."Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...
Fwdays
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko"Rebranding for Growth", Anna Velykoivanenko
"Rebranding for Growth", Anna Velykoivanenko
Fwdays
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 

Why You Should Be Using Git

  • 1. Why you should be using with very high probability... Francisco Vieira
  • 2. What is git? ● VCS ● Open source ● Distributed ● Offline ● Fast ● Flexible ● Complex ● Not SVN
  • 3. Command Glossary ● Init – Create a repository ● Clone – Clone a repository (svn checkout) ● Commit – Offline commit ● Merge ● Pull – Download changes from remote repo (svn update) ● Push – Upload changes to remote repo (svn does this on each commit)
  • 6. Distributed Backups Offline operations Fast Multiple workflows possible
  • 7. Distributed Workflows Centralized
  • 8. Distributed Workflows Github-like git init
  • 9. Distributed Workflows Github-like git clone
  • 10. Distributed Workflows Github-like git commit
  • 11. Distributed Workflows Github-like git push
  • 12. Distributed Workflows Github-like git clone
  • 13. Distributed Workflows Github-like git clone
  • 14. Distributed Workflows Github-like git commit
  • 15. Distributed Workflows Github-like git push
  • 16. Distributed Workflows Github-like Pull Request
  • 17. Distributed Workflows Github-like git pull
  • 18. Distributed Workflows Github-like git push
  • 19. Distributed Workflows Github-like
  • 23. Staging Area – Example
  • 24. Staging Area – Example
  • 26. Branching 2fbc... 3fab... b99d...
  • 27. Branching 1 2 3
  • 28. Branching master 1 2 3
  • 29. Branching HEAD master 1 2 3
  • 30. Branching HEAD master 1 2 3 4 git commit
  • 31. Branching HEAD master 1 2 3 4 feature git branch feature
  • 32. Branching master 1 2 3 4 feature HEAD git checkout feature
  • 33. Branching master 1 2 3 4 5 feature HEAD git commit
  • 34. Branching HEAD master 1 2 3 4 5 feature git checkout master
  • 35. Branching HEAD master 6 1 2 3 4 5 feature git commit
  • 36. Branching HEAD master 6 7 1 2 3 4 5 feature git merge feature
  • 37. Branching HEAD master 6 7 1 2 3 4 5 git branch -d feature
  • 38. Tagging HEAD master 1 2 3 4
  • 39. Tagging HEAD master 1 2 3 4 v0.1 git tag v0.1
  • 40. Tagging HEAD master 6 7 1 2 3 4 5 v0.1
  • 41. Tagging master 6 7 1 2 3 4 5 v0.1 HEAD git checkout v0.1
  • 48. Git flow git init
  • 49. Git flow master 1 git commit
  • 50. Git flow master 1 2 git commit
  • 51. Git flow master 1 2 3 git commit
  • 52. Git flow master 1 2 3 v0.1 git tag v0.1
  • 53. Git flow master 1 2 3 dev v0.1 git branch dev
  • 54. Git flow master dev 1 2 3 4 v0.1 git commit
  • 55. Git flow master dev 1 2 3 4 5 v0.1 git commit
  • 56. Git flow master dev 1 2 3 4 5 v0.1 feature1 git branch feature1
  • 57. Git flow master dev ... 3 4 5 v0.1 feature1
  • 58. Git flow master dev ... 3 4 5 v0.1 6 feature1 git commit
  • 59. Git flow master dev ... 3 4 5 v0.1 6 7 feature1 git commit
  • 60. Git flow master dev ... 3 4 5 8 v0.1 6 7 feature1 git commit
  • 61. Git flow master dev ... 3 4 5 8 v0.1 6 7 9 feature1 git commit
  • 62. Git flow master dev ... 3 4 5 8 10 v0.1 6 7 9 feature1 git merge feature1
  • 63. Git flow master dev ... 3 4 5 8 10 v0.1 6 7 9 git branch -d feature1
  • 64. Git flow master ... 3 4 5 8 10 dev v0.1 6 7 9
  • 65. Git flow master release-v1.0 ... 3 4 5 8 10 dev v0.1 6 7 9 git branch release-v1.0
  • 66. Git flow release-v1.0 11 master ... 3 4 5 8 10 dev v0.1 6 7 9 git commit
  • 67. Git flow release-v1.0 12 11 master ... 3 4 5 8 10 dev v0.1 6 7 9 git commit
  • 68. Git flow release-v1.0 12 11 master ... 3 4 5 8 10 13 v0.1 dev 6 7 9 git commit
  • 69. Git flow master release-v1.0 14 12 11 ... 3 4 5 8 10 13 v0.1 dev 6 7 9 git merge release-v1.0
  • 70. Git flow master release-v1.0 14 12 v1.0 11 ... 3 4 5 8 10 13 v0.1 dev 6 7 9 git tag v1.0
  • 71. Git flow master release-v1.0 dev 14 12 15 v1.0 11 ... 3 4 5 8 10 13 v0.1 6 7 9 git merge release-v1.0
  • 72. Git flow master dev 14 12 15 v1.0 11 ... 3 4 5 8 10 13 v0.1 6 7 9 git branch -d release-v1.0
  • 73. Git flow master dev 14 12 15 v1.0 11 ... 3 4 5 8 10 13 v0.1 6 7 9
  • 74. Git flow master dev ... 3 14 15 12 v0.1 v1.0 ...
  • 75. Git flow master dev ... 3 14 15 16 12 v0.1 v1.0 ... git commit
  • 76. Git flow master hotfix dev ... 3 14 15 16 12 v0.1 v1.0 ... git branch hotfix
  • 77. Git flow 17 hotfix master dev ... 3 14 15 16 12 v0.1 v1.0 ... git commit
  • 78. Git flow 18 hotfix 17 master dev ... 3 14 15 16 12 v0.1 v1.0 ... git commit
  • 79. Git flow master 18 hotfix 17 dev ... 3 14 15 16 12 v0.1 v1.0 ... git merge hotfix
  • 80. Git flow v1.1 master 18 hotfix 17 dev ... 3 14 15 16 12 v0.1 v1.0 ... git tag v1.1
  • 81. Git flow v1.1 master 18 hotfix dev 17 19 ... 3 14 15 16 12 v0.1 v1.0 ... git merge hotfix
  • 82. Git flow v1.1 master 18 dev 17 19 ... 3 14 15 16 12 v0.1 v1.0 ... git branch -d hotfix
  • 84. Git flow at SAPO
  • 86. Tópicos extra ● Repositório local de backup. ● Mudar de repositorio remoto. ● Push para dois repositórios diferentes. ● Corrigir o último commit. ● Stashing. ● Rebase.
  • 87. Merge master 9ef8 e404 branch HEAD 438b 0928 a4c6
  • 88. Merge branch HEAD 2e71 master 9ef8 e404 438b 0928 a4c6 git merge master
  • 89. Rebase master 9ef8 e404 branch HEAD 438b 0928 a4c6
  • 90. Rebase 13d4 branch HEAD master 9ef8 a431 438b a4c6 git rebase master
  • 91. GUI Clients ● git-gui (for commiting) and gitk (for browsing) ● Github Client (Windows and Osx) ● SourceTree (Osx) ● TortoiseGit (Windows) ● Gitg (Gnome) ● See more here: http://git-scm.com/downloads/guis
  • 92. References ● Git flow - http://nvie.com/posts/a-successful-git-branching-model/ ● Pro git book - http://git-scm.com/book ● Git tutorial - http://gitimmersion.com/ ● Cheat sheet - http://media.developerforce.com/cheatsheets/SF_GIT_2Pg_HR_V10.pdf ● Visual cheatsheet - http://ndpsoftware.com/git-cheatsheet.html ● GitHub - https://github.com/ ● Heroku - http://www.heroku.com/

Editor's Notes

  • #2: Disable “Take a Break”!!!
  • #3: - Not something you are going to fully understand in an hour - Don’t try to map your understanding of subversion onto git
  • #7: - No need for a connection anywhere - (Online) Push and pull - John testa o software em vários sistemas operativos
  • #27: Setas não representam direcção do tempo. Explicar SHA1 (20 bytes, 40 char)
  • #38: Git finds merge ancestor automatically Conflict resolution
  • #48: Atenção à direcção das setas. Porque feature branches: - se os requisitos mudam e uma feature passa a ser desnessesária, o código relativo à feature vai para o lixo. Então e as outras alterações feitas a meio da criação da feature (bug-fixes, pequenas refactorizações)?
  • #49: Hea
  • #50: HEAD desnecessária. É onde ocorre a acção (commit, merge, tag).
  • #54: Branch dev: - Código que vai estar com certeza na próxima release.
  • #57: Vantagens de ter features em branches: - Permite ao developer trabalhar na feature sem ter que se preocupar muito com o resto do desenvolvimento. - Permite visualizar facilmente todas as modificações que são efectuadas por aquela feature. - Fácil de discartar ideias - Fácil de adiar o lançamento de uma feature para outra release
  • #66: Só bugfixes no branch release. No dev podemos começar a preparar a próxima release. Este é talvez a altura certa para lançar uma versão beta.
  • #72: Integrar os bugfixes desta release no desenvolvimento da próxima.
  • #76: É descoberto um bug em produção que tem que ser resolvido imediatamente! Resolvê-lo no branch dev não serve, há lá alterações que não estão prontas para produção!
  • #79: Se o hotfix está terminado, qual o próximo passo? merge
  • #80: Fast-forward Não há commit de merge.
  • #84: Atenção à direcção das setas. Porque feature branches: - se os requisitos mudam e uma feature passa a ser desnessesária, o código relativo à feature vai para o lixo. Então e as outras alterações feitas a meio da criação da feature (bug-fixes, pequenas refactorizações)?
  • #87: - Sublime - check_ssl para intra - Intra e github - Commit ammending
  • #91: SHA mudou Só usar se não tiver sido publicado.