SlideShare uma empresa Scribd logo
1 de 46
Baixar para ler offline
Git: a starter kit
--++ --++ Boubacar Diallo, Kareea. --++ --++ --++ --++ --++ --++ --++ --++ --
--++   Menu --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++
                                Appetizer

                 Who knows git? Who uses git?

                                Main dish

                        Basic git commands

                                 Dessert

                       Questions & Answers
What is
What is
		
What is
		
What is
		
What is
          Git
		
What is
--++   Not CVS or SVN --++ --++ --++ --++ --++ --++ --++ --++ --++
--++   Distributed RCS --++ --++ --++ --++ --++ --++ --++ --++ --++
--++   What is git? --++ --++ --++ --++ --++ --++ --++ --++ --++ --++




 Simple                                                      Fast
--++   Getting git --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++




        Mac: $ brew install git

        Linux: $ apt-get install git-core

        Windows: msysgit
--++   Setup --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++

 $ git config --global user.name "Boubacar Diallo"

 $ git config --global user.email 
 "boubacar@kareea.com"




 $ cat ~/.gitconfig
152
W00T, LOL, OMG, HAXX W00T, LOL, OMG, HAXX




  Commands
•
•
--++   Basic Usage --++ --++ --++ --++ --++ --++ --++ --++ --++ --++

• Clone existing depot (git clone)
• Initialize git depot (git init)
• Add a file (git add)
• Commit changes (git commit)
• See logs (git log)
• Remove a file (git rm)
• Jump to a commit (git checkout)
--++   Clone existing depot --++ --++ --++ --++ --++ --++ --++ --++

 $ git clone <url>

 $ git clone git@github.com:username/project.git

 Create local depot

 Fetch remote master branch with commit history

 Save it as local master branch
--++   Make a new project --++ --++ --++ --++ --++ --++ --++ --++

 $ cd path/to/repos

 $ mkdir project

 $ cd project
--++   Initialize git depot --++ --++ --++ --++ --++ --++ --++ --++ --++

 $ ls -al       # dir is empty

 $ git init # initialize git repo

 $ ls -al       # new .git dir
--++   Working directory --++ --++ --++ --++ --++ --++ --++ --++ --++




 Holds current checkout of files you are working on
--++   Index zone --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++




 Index is used as a staging area between your
 working dir and your repository
--++   Add a file --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++

 Start coding/adding files

 $ echo "Please read me" > README

 $ echo "Learn git now!" > TODO
--++   Add a file --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++




 Files are added into a buffer zone (index)

 Content of this zone is included in the next commit

 Now git will track the changes made to these files
--++   Show changes --++ --++ --++ --++ --++ --++ --++ --++ --++

 Show the status of index and working dir

 $ git status # files are untracked

 $ git add README # add content to index

 $ git add TODO # add content to index

 $ git status # changes ready to be commited
--++   Show changes --++ --++ --++ --++ --++ --++ --++ --++ --++




 Index now contains working dir content
--++   Commit changes --++ --++ --++ --++ --++ --++ --++ --++ --++




 A commit is a snapshot taken from the index at
 some point in time
--++   Commit changes --++ --++ --++ --++ --++ --++ --++ --++ --++

 Saves the contents of index to the repo

 Commit is inserted in the history of the branch

 Each commit has an ID (SHA1 hash)
--++   Commit changes --++ --++ --++ --++ --++ --++ --++ --++ --++

 $ git commit -m “First commit” # First commit

 Update files

 $ echo "Try to cook" > TODO

 $ echo "Once upon a time" > README
--++   Commit changes --++ --++ --++ --++ --++ --++ --++ --++ --++

 $ git status # Changes not staged for commit TODO +
 README

 $ git add TODO # Changes to be commited TODO

 $ git status # Changes not staged for commit

 $ git commit -m "Update TODO file"

 $ git status # Changes not staged for commit (README)
--++   Print log commit --++ --++ --++ --++ --++ --++ --++ --++ --++

 $ git log

 Print log of commits of current branch

 Gives hashes, authors, descriptions, dates

 $ git log --pretty
--++   Remove a file --++ --++ --++ --++ --++ --++ --++ --++ --++ --++

 $ git rm <file>

 Delete a file from the current directory

 The file is no longer tracked by git

 Next commit will contain instructions to remove the file

 $ git rm TODO
--++   Jump to a commit --++ --++ --++ --++ --++ --++ --++ --++ --

 $ git checkout <commit ID>

 Allows you to change the status of working directory

 Files can be reverted to a previous version
--++   Jump to a commit --++ --++ --++ --++ --++ --++ --++ --++ --

 $ cat README

 $ git checkout bb788e7e5d2059...

 $ cat README
--++   Add/commit workflow --++ --++ --++ --++ --++ --++ --++ --
--++   Intermediate Usage --++ --++ --++ --++ --++ --++ --++ --++ --

• Create branch (git branch branch_name)

• Put aside temporary changes (git stash)

• Merge branches (git merge)

• Push commits (git push)

• Pull commit (git pull)
--++   Create a branch --++ --++ --++ --++ --++ --++ --++ --++ --++ --

 $ git branch # List branches

 $ git branch new_functionnality

 Create branch that derives from current branch

 Useful when developing a new feature

 $ git checkout new_functionnality

 $ git branch -D new_functionnality # Delete branch
--++   Put aside changes --++ --++ --++ --++ --++ --++ --++ --++ --

 Save temporary changes from index and working dir

 $ git branch # branch new_functionnality

 $ git status # Uncommited changes

 $ git checkout master # Error

 $ git stash # Saves working dir and index
--++   Put aside changes --++ --++ --++ --++ --++ --++ --++ --++

 $ git checkout master # Switch to master

 $ git stash list

 $ git stash show

 $ git stash (apply || drop)
--++   Merge branches --++ --++ --++ --++ --++ --++ --++ --++ --++ --

 Merge a branch with the current branch

 $ git checkout -b new_functionnality

 $ echo "Take her phone" > TODO

 $ echo "How to seduce women" > README

 $ echo "Stop thinking too much" > new_file
--++   Merge branches --++ --++ --++ --++ --++ --++ --++ --++ --++ --

 $ git add new_file

 $ git commit -m "Testing new functionnality"

 $ git checkout master

 $ cat new_file

 $ git merge new_functionnality
--++   Pull commits --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --

 $ git pull <remote_depot> <remote_branch>

 Download commit history of a remote branch (git fetch)

 Performs merge with current branch (git merge)

 Can generate conflicts
--++   Push commits --++ --++ --++ --++ --++ --++ --++ --++ --++ --++

 Sends commits to the history of a remote branch of a
 remote repository (help.github.com)

 $ git remote add <name> <url>

 $ git remote add origin git@github.com:username/
 hello_world.git

 $ git push <remote_depot> <remote_branch>

 $ git push origin master
--++   Thank you! --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++

                             Any Question?




        Formation rapide en vidéo


                      @BoubacarDiallo @Tutorys
--++   Collaborative Working Process --++ --++ --++ --++ --++

 Small commits with meaningful commit message

 Test new functionnalities in separate branches

 Merge branch into master

 All tests should always pass on branch master

 Push to staging when OK

 Push to production
--++   Resources --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++

 http://www.erlang-factory.com/upload/presentations/244/
 ErlangFactroySFBay2010-TomPreston-Werner.pdf

 http://book.git-scm.com/

 http://sixrevisions.com/resources/git-tutorials-beginners/

 http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html

 http://www.slideshare.net/yannsionneau/introduction-
 git-8450451
--++   Videos --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++

 Tom Preston-Werner - Mastering Git Basics http://vimeo.com/
 17118008

 "Getting Git" by Scott Chacon http://vimeo.com/14629850

 Linus Torvalds on Git http://www.youtube.com/watch?
 v=4XpnKHJAok8

 Randal Schwartz on Git http://www.youtube.com/watch?
 v=8dhZ9BXQgc4

 Git Tutorial Talk http://excess.org/article/2008/07/ogre-git-
 tutorial/

Mais conteúdo relacionado

Destaque

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destaque (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Git a starter kit

  • 1. Git: a starter kit --++ --++ Boubacar Diallo, Kareea. --++ --++ --++ --++ --++ --++ --++ --++ --
  • 2. --++ Menu --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ Appetizer Who knows git? Who uses git? Main dish Basic git commands Dessert Questions & Answers
  • 3. What is What is What is What is What is Git What is
  • 4. --++ Not CVS or SVN --++ --++ --++ --++ --++ --++ --++ --++ --++
  • 5. --++ Distributed RCS --++ --++ --++ --++ --++ --++ --++ --++ --++
  • 6. --++ What is git? --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ Simple Fast
  • 7. --++ Getting git --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ Mac: $ brew install git Linux: $ apt-get install git-core Windows: msysgit
  • 8. --++ Setup --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ $ git config --global user.name "Boubacar Diallo" $ git config --global user.email "boubacar@kareea.com" $ cat ~/.gitconfig
  • 9. 152 W00T, LOL, OMG, HAXX W00T, LOL, OMG, HAXX Commands
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. --++ Basic Usage --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ • Clone existing depot (git clone) • Initialize git depot (git init) • Add a file (git add) • Commit changes (git commit) • See logs (git log) • Remove a file (git rm) • Jump to a commit (git checkout)
  • 15. --++ Clone existing depot --++ --++ --++ --++ --++ --++ --++ --++ $ git clone <url> $ git clone git@github.com:username/project.git Create local depot Fetch remote master branch with commit history Save it as local master branch
  • 16. --++ Make a new project --++ --++ --++ --++ --++ --++ --++ --++ $ cd path/to/repos $ mkdir project $ cd project
  • 17. --++ Initialize git depot --++ --++ --++ --++ --++ --++ --++ --++ --++ $ ls -al # dir is empty $ git init # initialize git repo $ ls -al # new .git dir
  • 18. --++ Working directory --++ --++ --++ --++ --++ --++ --++ --++ --++ Holds current checkout of files you are working on
  • 19. --++ Index zone --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ Index is used as a staging area between your working dir and your repository
  • 20. --++ Add a file --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ Start coding/adding files $ echo "Please read me" > README $ echo "Learn git now!" > TODO
  • 21. --++ Add a file --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ Files are added into a buffer zone (index) Content of this zone is included in the next commit Now git will track the changes made to these files
  • 22. --++ Show changes --++ --++ --++ --++ --++ --++ --++ --++ --++ Show the status of index and working dir $ git status # files are untracked $ git add README # add content to index $ git add TODO # add content to index $ git status # changes ready to be commited
  • 23. --++ Show changes --++ --++ --++ --++ --++ --++ --++ --++ --++ Index now contains working dir content
  • 24. --++ Commit changes --++ --++ --++ --++ --++ --++ --++ --++ --++ A commit is a snapshot taken from the index at some point in time
  • 25. --++ Commit changes --++ --++ --++ --++ --++ --++ --++ --++ --++ Saves the contents of index to the repo Commit is inserted in the history of the branch Each commit has an ID (SHA1 hash)
  • 26. --++ Commit changes --++ --++ --++ --++ --++ --++ --++ --++ --++ $ git commit -m “First commit” # First commit Update files $ echo "Try to cook" > TODO $ echo "Once upon a time" > README
  • 27. --++ Commit changes --++ --++ --++ --++ --++ --++ --++ --++ --++ $ git status # Changes not staged for commit TODO + README $ git add TODO # Changes to be commited TODO $ git status # Changes not staged for commit $ git commit -m "Update TODO file" $ git status # Changes not staged for commit (README)
  • 28. --++ Print log commit --++ --++ --++ --++ --++ --++ --++ --++ --++ $ git log Print log of commits of current branch Gives hashes, authors, descriptions, dates $ git log --pretty
  • 29. --++ Remove a file --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ $ git rm <file> Delete a file from the current directory The file is no longer tracked by git Next commit will contain instructions to remove the file $ git rm TODO
  • 30. --++ Jump to a commit --++ --++ --++ --++ --++ --++ --++ --++ -- $ git checkout <commit ID> Allows you to change the status of working directory Files can be reverted to a previous version
  • 31. --++ Jump to a commit --++ --++ --++ --++ --++ --++ --++ --++ -- $ cat README $ git checkout bb788e7e5d2059... $ cat README
  • 32. --++ Add/commit workflow --++ --++ --++ --++ --++ --++ --++ --
  • 33.
  • 34. --++ Intermediate Usage --++ --++ --++ --++ --++ --++ --++ --++ -- • Create branch (git branch branch_name) • Put aside temporary changes (git stash) • Merge branches (git merge) • Push commits (git push) • Pull commit (git pull)
  • 35. --++ Create a branch --++ --++ --++ --++ --++ --++ --++ --++ --++ -- $ git branch # List branches $ git branch new_functionnality Create branch that derives from current branch Useful when developing a new feature $ git checkout new_functionnality $ git branch -D new_functionnality # Delete branch
  • 36. --++ Put aside changes --++ --++ --++ --++ --++ --++ --++ --++ -- Save temporary changes from index and working dir $ git branch # branch new_functionnality $ git status # Uncommited changes $ git checkout master # Error $ git stash # Saves working dir and index
  • 37. --++ Put aside changes --++ --++ --++ --++ --++ --++ --++ --++ $ git checkout master # Switch to master $ git stash list $ git stash show $ git stash (apply || drop)
  • 38. --++ Merge branches --++ --++ --++ --++ --++ --++ --++ --++ --++ -- Merge a branch with the current branch $ git checkout -b new_functionnality $ echo "Take her phone" > TODO $ echo "How to seduce women" > README $ echo "Stop thinking too much" > new_file
  • 39. --++ Merge branches --++ --++ --++ --++ --++ --++ --++ --++ --++ -- $ git add new_file $ git commit -m "Testing new functionnality" $ git checkout master $ cat new_file $ git merge new_functionnality
  • 40. --++ Pull commits --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ -- $ git pull <remote_depot> <remote_branch> Download commit history of a remote branch (git fetch) Performs merge with current branch (git merge) Can generate conflicts
  • 41. --++ Push commits --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ Sends commits to the history of a remote branch of a remote repository (help.github.com) $ git remote add <name> <url> $ git remote add origin git@github.com:username/ hello_world.git $ git push <remote_depot> <remote_branch> $ git push origin master
  • 42.
  • 43. --++ Thank you! --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ Any Question? Formation rapide en vidéo @BoubacarDiallo @Tutorys
  • 44. --++ Collaborative Working Process --++ --++ --++ --++ --++ Small commits with meaningful commit message Test new functionnalities in separate branches Merge branch into master All tests should always pass on branch master Push to staging when OK Push to production
  • 45. --++ Resources --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ http://www.erlang-factory.com/upload/presentations/244/ ErlangFactroySFBay2010-TomPreston-Werner.pdf http://book.git-scm.com/ http://sixrevisions.com/resources/git-tutorials-beginners/ http://zrusin.blogspot.com/2007/09/git-cheat-sheet.html http://www.slideshare.net/yannsionneau/introduction- git-8450451
  • 46. --++ Videos --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ --++ Tom Preston-Werner - Mastering Git Basics http://vimeo.com/ 17118008 "Getting Git" by Scott Chacon http://vimeo.com/14629850 Linus Torvalds on Git http://www.youtube.com/watch? v=4XpnKHJAok8 Randal Schwartz on Git http://www.youtube.com/watch? v=8dhZ9BXQgc4 Git Tutorial Talk http://excess.org/article/2008/07/ogre-git- tutorial/