SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Using Git
An intro for folk who like GUIs
What is Git?
• Git is a flavour of
  Source Control Management
  (aka revision control, version control)
• It is an open source command line tool
  with many GUIs available
• Created by Linus Torvalds to maintain the
  Linux kernal
Why use Version Control?

• Rollback to working version
• Extra redundant backups
• Keep dependencies updated
• Move towards collaborative coding
• Social proof: an extra point of presence
  (also StackExchange, StudioPress forums)
Setting Up

• Create a repo from
  scratch or by cloning
• Stage files / hunks
• Commit to the repo
The basic Git workflow
• You modify files in your working directory.
• You stage the files, adding snapshots of them
  to your staging area.
• You do a commit, which takes the files as they
  are in the staging area and stores that
  snapshot permanently to your Git directory.
  http://git-scm.com/book/en/Getting-Started-Git-Basics
Underpinnings

• Git = two 'tricks':
 • Commit blob
 • Move pointers
    (HEAD, branch)
• Theory video:
  Git For Ages 4 And Up
Committing

• "…a commit's ID is a SHA-1 hash of
  several pieces of information: the contents
  of the commit, and the IDs of its parent
  commits."
  http://think-like-a-git.net/sections/graphs-and-git/garbage-collection.html
Branch and Merge
• Testing Out Merges
   • The Scout Pattern (merge on a new
        branch)
   • The Save Point (merge on master)
   • "Black Belt" (no branches)
  http://think-like-a-git.net/sections/testing-out-merges.html
http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging
http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging
http://git-scm.com/book/en/Git-Branching-Basic-Branching-and-Merging
Terminology
•   Repository / Repo: the .git filesystem which contains the project history and
    settings
•   Staging area / index / cache: files (or 'hunks' of code) which will be committed
•   Working Copy: the directory you're working in, may not be staged or
    committed yet
•   Hash: A checksum which acts as a unique identifier for your commit. Also
    guarantees file integrity.
•   Commit: create a snapshot or restore point, to which you can return in
    future (n: the snapshot itself)
•   Checkout: sync your Working Copy with the selected commit
•   Clone: to download a copy of a repository
•   Branch: an active line of development
•   Head: a reference to the branch you're working on
•   Master: the default development branch
Terminology
•   Merge: to integrate changes from another branch into the
    current
•   Tag: a label which acts like a 'bookmark', generally used for
    tagging release versions.
•   Rebase: funky merge.. think cherry picks & hard reset: Using
    'git cherry-pick' to Simulate 'git rebase'
•   Fork: to make modifications to someone else's project
•   Push: send changes to a remote server
•   Fetch: receive changes from a remote server
•   Pull: Fetch & merge in one operation

    http://www.kernel.org/pub/software/scm/git/docs/gitglossary.html#
Free Tools

• SourceTree by Atlassian
• GitHub for Mac
• 5 Windows Git Clients To ‘Git’ The Job
  Done
Free Services

       • BitBucket
         (free / unlimited private
         repos for 5 users)
       • GitHub
         (free public repos,
         $7/mo 5 private repos)
Wordpress & Git

• The WordPress core team uses SVN
  natively, but syncs to Git every 15 minutes,
  so folk who prefer Git can follow along:

  https://github.com/WordPress/WordPress
Further Reading
• Think Like (a) Git: conversational clarity -
  the simplest read on understanding Git.
• Git Documentation: really clear, easy to
  read, the definitive resource. Free PDF
• CSStricks: Let’s Suck at GitHub Together
• CSStricks: Getting off FTP and onto Git
  Deployment with Beanstalk
memeLab.com.au

Weitere ähnliche Inhalte

Was ist angesagt?

Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersNoam Kfir
 
Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHubNishan Bose
 
Teaching a Designer to Use GitHub
Teaching a Designer to Use GitHubTeaching a Designer to Use GitHub
Teaching a Designer to Use GitHubLiam Dempsey
 
Workshop on Git and GitHub
Workshop on Git and GitHubWorkshop on Git and GitHub
Workshop on Git and GitHubDSCVSSUT
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategiesjstack
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucketSumin Byeon
 
Branch to branch by Photis Patriotis
Branch to branch by Photis PatriotisBranch to branch by Photis Patriotis
Branch to branch by Photis PatriotisProlific Interactive
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab IntroductionKrunal Doshi
 
Git 101: Force-sensitive to Jedi padawan
Git 101: Force-sensitive to Jedi padawanGit 101: Force-sensitive to Jedi padawan
Git 101: Force-sensitive to Jedi padawanJames Ford
 
GitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorialGitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorialHeather McNamee
 
Migrating to git
Migrating to gitMigrating to git
Migrating to gitXpand IT
 
Slide: Introducing GitLab by ALMtoolbox
Slide: Introducing GitLab by ALMtoolboxSlide: Introducing GitLab by ALMtoolbox
Slide: Introducing GitLab by ALMtoolboxNoa Harel
 
Git workflows
Git workflowsGit workflows
Git workflowsXpand IT
 

Was ist angesagt? (20)

Bitbucket
BitbucketBitbucket
Bitbucket
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS Users
 
Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHub
 
Teaching a Designer to Use GitHub
Teaching a Designer to Use GitHubTeaching a Designer to Use GitHub
Teaching a Designer to Use GitHub
 
Intro to Git & GitHub
Intro to Git & GitHubIntro to Git & GitHub
Intro to Git & GitHub
 
Workshop on Git and GitHub
Workshop on Git and GitHubWorkshop on Git and GitHub
Workshop on Git and GitHub
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategies
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
 
Branch to branch by Photis Patriotis
Branch to branch by Photis PatriotisBranch to branch by Photis Patriotis
Branch to branch by Photis Patriotis
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
 
Git 101: Force-sensitive to Jedi padawan
Git 101: Force-sensitive to Jedi padawanGit 101: Force-sensitive to Jedi padawan
Git 101: Force-sensitive to Jedi padawan
 
GitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorialGitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorial
 
Migrating to git
Migrating to gitMigrating to git
Migrating to git
 
Github
GithubGithub
Github
 
Slide: Introducing GitLab by ALMtoolbox
Slide: Introducing GitLab by ALMtoolboxSlide: Introducing GitLab by ALMtoolbox
Slide: Introducing GitLab by ALMtoolbox
 
Git basics
Git basicsGit basics
Git basics
 
Gitlab CI/CD
Gitlab CI/CDGitlab CI/CD
Gitlab CI/CD
 
Git workflows
Git workflowsGit workflows
Git workflows
 
CI/CD with Bitbucket pipelines
CI/CD with Bitbucket pipelinesCI/CD with Bitbucket pipelines
CI/CD with Bitbucket pipelines
 

Ähnlich wie Git for folk who like GUIs

The Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHubThe Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHubBigBlueHat
 
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)Ahmed El-Arabawy
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configurationKishor Kumar
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network EngineersJoel W. King
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners HubSpot
 
CSE 390 Lecture 9 - Version Control with GIT
CSE 390 Lecture 9 - Version Control with GITCSE 390 Lecture 9 - Version Control with GIT
CSE 390 Lecture 9 - Version Control with GITPouriaQashqai1
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitRobert Lee-Cann
 
Git Introductive
Git IntroductiveGit Introductive
Git IntroductiveAdham Saad
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Gitatishgoswami
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hubNaveen Pandey
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGeoff Hoffman
 
O365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van RousseltO365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van RousseltNCCOMMS
 

Ähnlich wie Git for folk who like GUIs (20)

The Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHubThe Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHub
 
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configuration
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network Engineers
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 
CSE 390 Lecture 9 - Version Control with GIT
CSE 390 Lecture 9 - Version Control with GITCSE 390 Lecture 9 - Version Control with GIT
CSE 390 Lecture 9 - Version Control with GIT
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
 
Git Introductive
Git IntroductiveGit Introductive
Git Introductive
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub
 
Git and Github
Git and GithubGit and Github
Git and Github
 
Git
GitGit
Git
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using Git
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Demo
DemoDemo
Demo
 
O365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van RousseltO365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van Rousselt
 
git and github
git and githubgit and github
git and github
 
Git training (basic)
Git training (basic)Git training (basic)
Git training (basic)
 
Git hub
Git hubGit hub
Git hub
 

Kürzlich hochgeladen

Collective Mining | Corporate Presentation - April 2024
Collective Mining | Corporate Presentation - April 2024Collective Mining | Corporate Presentation - April 2024
Collective Mining | Corporate Presentation - April 2024CollectiveMining1
 
Q1 Probe Gold Quarterly Update- April 2024
Q1 Probe Gold Quarterly Update- April 2024Q1 Probe Gold Quarterly Update- April 2024
Q1 Probe Gold Quarterly Update- April 2024Probe Gold
 
Collective Mining | Corporate Presentation | April 2024
Collective Mining | Corporate Presentation | April 2024Collective Mining | Corporate Presentation | April 2024
Collective Mining | Corporate Presentation | April 2024CollectiveMining1
 
Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024
Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024
Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024Osisko Gold Royalties Ltd
 
Mandalay Resources 2024 April IR Presentation
Mandalay Resources 2024 April IR PresentationMandalay Resources 2024 April IR Presentation
Mandalay Resources 2024 April IR PresentationMandalayResources
 
Q1 Quarterly Update - April 16, 2024.pdf
Q1 Quarterly Update - April 16, 2024.pdfQ1 Quarterly Update - April 16, 2024.pdf
Q1 Quarterly Update - April 16, 2024.pdfProbe Gold
 
Corporate Presentation Probe April 2024.pdf
Corporate Presentation Probe April 2024.pdfCorporate Presentation Probe April 2024.pdf
Corporate Presentation Probe April 2024.pdfProbe Gold
 
the 25 most beautiful words for a loving and lasting relationship.pdf
the 25 most beautiful words for a loving and lasting relationship.pdfthe 25 most beautiful words for a loving and lasting relationship.pdf
the 25 most beautiful words for a loving and lasting relationship.pdfFrancenel
 
slideshare_2404_presentation materials_en.pdf
slideshare_2404_presentation materials_en.pdfslideshare_2404_presentation materials_en.pdf
slideshare_2404_presentation materials_en.pdfsansanir
 
Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...
Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...
Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...USDAReapgrants.com
 
Corporate Presentation Probe April 2024.pdf
Corporate Presentation Probe April 2024.pdfCorporate Presentation Probe April 2024.pdf
Corporate Presentation Probe April 2024.pdfProbe Gold
 

Kürzlich hochgeladen (12)

Collective Mining | Corporate Presentation - April 2024
Collective Mining | Corporate Presentation - April 2024Collective Mining | Corporate Presentation - April 2024
Collective Mining | Corporate Presentation - April 2024
 
Q1 Probe Gold Quarterly Update- April 2024
Q1 Probe Gold Quarterly Update- April 2024Q1 Probe Gold Quarterly Update- April 2024
Q1 Probe Gold Quarterly Update- April 2024
 
Collective Mining | Corporate Presentation | April 2024
Collective Mining | Corporate Presentation | April 2024Collective Mining | Corporate Presentation | April 2024
Collective Mining | Corporate Presentation | April 2024
 
Korea District Heating Corporation 071320 Algorithm Investment Report
Korea District Heating Corporation 071320 Algorithm Investment ReportKorea District Heating Corporation 071320 Algorithm Investment Report
Korea District Heating Corporation 071320 Algorithm Investment Report
 
Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024
Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024
Osisko Gold Royalties Ltd - Corporate Presentation, April 10, 2024
 
Mandalay Resources 2024 April IR Presentation
Mandalay Resources 2024 April IR PresentationMandalay Resources 2024 April IR Presentation
Mandalay Resources 2024 April IR Presentation
 
Q1 Quarterly Update - April 16, 2024.pdf
Q1 Quarterly Update - April 16, 2024.pdfQ1 Quarterly Update - April 16, 2024.pdf
Q1 Quarterly Update - April 16, 2024.pdf
 
Corporate Presentation Probe April 2024.pdf
Corporate Presentation Probe April 2024.pdfCorporate Presentation Probe April 2024.pdf
Corporate Presentation Probe April 2024.pdf
 
the 25 most beautiful words for a loving and lasting relationship.pdf
the 25 most beautiful words for a loving and lasting relationship.pdfthe 25 most beautiful words for a loving and lasting relationship.pdf
the 25 most beautiful words for a loving and lasting relationship.pdf
 
slideshare_2404_presentation materials_en.pdf
slideshare_2404_presentation materials_en.pdfslideshare_2404_presentation materials_en.pdf
slideshare_2404_presentation materials_en.pdf
 
Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...
Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...
Leveraging USDA Rural Development Grants for Community Growth and Sustainabil...
 
Corporate Presentation Probe April 2024.pdf
Corporate Presentation Probe April 2024.pdfCorporate Presentation Probe April 2024.pdf
Corporate Presentation Probe April 2024.pdf
 

Git for folk who like GUIs

  • 1. Using Git An intro for folk who like GUIs
  • 2. What is Git? • Git is a flavour of Source Control Management (aka revision control, version control) • It is an open source command line tool with many GUIs available • Created by Linus Torvalds to maintain the Linux kernal
  • 3. Why use Version Control? • Rollback to working version • Extra redundant backups • Keep dependencies updated • Move towards collaborative coding • Social proof: an extra point of presence (also StackExchange, StudioPress forums)
  • 4. Setting Up • Create a repo from scratch or by cloning • Stage files / hunks • Commit to the repo
  • 5. The basic Git workflow • You modify files in your working directory. • You stage the files, adding snapshots of them to your staging area. • You do a commit, which takes the files as they are in the staging area and stores that snapshot permanently to your Git directory. http://git-scm.com/book/en/Getting-Started-Git-Basics
  • 6. Underpinnings • Git = two 'tricks': • Commit blob • Move pointers (HEAD, branch) • Theory video: Git For Ages 4 And Up
  • 7. Committing • "…a commit's ID is a SHA-1 hash of several pieces of information: the contents of the commit, and the IDs of its parent commits." http://think-like-a-git.net/sections/graphs-and-git/garbage-collection.html
  • 8. Branch and Merge • Testing Out Merges • The Scout Pattern (merge on a new branch) • The Save Point (merge on master) • "Black Belt" (no branches) http://think-like-a-git.net/sections/testing-out-merges.html
  • 12. Terminology • Repository / Repo: the .git filesystem which contains the project history and settings • Staging area / index / cache: files (or 'hunks' of code) which will be committed • Working Copy: the directory you're working in, may not be staged or committed yet • Hash: A checksum which acts as a unique identifier for your commit. Also guarantees file integrity. • Commit: create a snapshot or restore point, to which you can return in future (n: the snapshot itself) • Checkout: sync your Working Copy with the selected commit • Clone: to download a copy of a repository • Branch: an active line of development • Head: a reference to the branch you're working on • Master: the default development branch
  • 13. Terminology • Merge: to integrate changes from another branch into the current • Tag: a label which acts like a 'bookmark', generally used for tagging release versions. • Rebase: funky merge.. think cherry picks & hard reset: Using 'git cherry-pick' to Simulate 'git rebase' • Fork: to make modifications to someone else's project • Push: send changes to a remote server • Fetch: receive changes from a remote server • Pull: Fetch & merge in one operation http://www.kernel.org/pub/software/scm/git/docs/gitglossary.html#
  • 14. Free Tools • SourceTree by Atlassian • GitHub for Mac • 5 Windows Git Clients To ‘Git’ The Job Done
  • 15. Free Services • BitBucket (free / unlimited private repos for 5 users) • GitHub (free public repos, $7/mo 5 private repos)
  • 16. Wordpress & Git • The WordPress core team uses SVN natively, but syncs to Git every 15 minutes, so folk who prefer Git can follow along: https://github.com/WordPress/WordPress
  • 17. Further Reading • Think Like (a) Git: conversational clarity - the simplest read on understanding Git. • Git Documentation: really clear, easy to read, the definitive resource. Free PDF • CSStricks: Let’s Suck at GitHub Together • CSStricks: Getting off FTP and onto Git Deployment with Beanstalk