SlideShare a Scribd company logo
GIT and its Extension Training

Eric Guo
                         2012-03-27
Training Agenda
•   Version Control History, GIT Design Goal
•   GIT Extension Installation and Setup
•   GIT Concept and Terminology
•   GIT Daily Usage in SVN way
•   Create your own GIT repo (local &
    remote)
•   New GIT feature and further more manual
Version Control History
   manually keep track of versions of code! (1960s)
   keep lots of versions in one file! (1972, SCCS)
   You can each have your own copy checked out! (1982,
    RCS)
   version multiple files at once! (1986, CVS, atomic by
    Subversion 2000)
   shared repository can be on a remote machine! (1994,
    CVS with )
   open source version control hosting! (1999,
    SourceForge)
   no central repository! (2005, GIT)
   When you checkout that’s a fork too, and you can do
    that in public! (2008, GIThub)
GIT & GitHub History
   Torvalds wanted a distributed system that he could
    use like BitKeeper, but none of the available free
    systems met his needs, particularly his performance
    needs. From an email he wrote on 7 April 2005 while
    writing the first prototype.
   GitHub is a web-based hosting service for software
    development projects that use the Git revision
    control system. GitHub offers both commercial plans
    and free accounts for open source projects.
    According to the Git User's Survey in 2009, GitHub is
    the most popular Git hosting site.
GIT Design Goal
•   Take CVS as an example of what not to do; if in
    doubt, make the exact opposite decision.
•   Support a distributed, BitKeeper-like workflow
•   Very high performanc and strong safeguards
    against corruption, either accidental or malicious
GIT Extension Design Goal
•   GitExtensions is a shell extension, a Visual Studio
    2008 / 2010 plug-in and a standalone GIT
    repository tool.
•   Great tools enable you think and work in Unix style
    gradually
GIT Extension Installation – All User
   http://code.google.com/p/gitextensions/ (download
    URL)
GIT Extension Installation – Both
GIT Extension Installation - Integration
GIT Extension Installation - PuTTY
GIT Extension Installation - KDiff3
GIT Extension Installation – MsysGIT
GIT Extension Installation – Bash only
GIT Extension Installation – cross-platform
GIT Extension Setup
GIT Extension  Settings  Settings to fill:
 User Name
 eMail
GIT Generate SSH Key
GIT Email your Public key to Admin
                      • Copy selection text
                      and email to your
                      Admin
                      • Save private key
                      because you need
                      private key to login
                      latter
                      • Loss private key
                      need regenerate
                      private key and resent
                      public key to Admin
GIT clone your first repositories to test




   Repository to clone: gitolite@cvpscmip01:testing
GIT Commit your first change to test
GIT Daily Usage in SVN way
   Clone (SVN Checkout)
   Commit (in Local!)
   Push (SVN Commit)
   Pull (SVN Update All)
   gitK (SVN History)
GIT Concept
and
Terminology
gitK – a commit viewer for git
GIT Key Sales Point

• Very fast and user friendly
• Source Code Repository is
    distributed, isolated, history
    complete
•   All action can run in Local except
    pull and push
•   Submit and rollback always success
    (until pull and push)
•   Can fix last submit very easily
Create your GIT repository in GIT Extension
Open Repopsitory  Your not GIT init yet folder  Initialize Repository
Add .gitignore for VS.NET intermediate files
Forgot any add ignore file and pattern in Subversion, now it’s a One-click only!
      But don’t forgot to add ignore files
       when you initial the repository!
Commit initial version of files
Push your repository to CVPSCMIP01
You can to put any repository to: (no need inform GIT admin!)
gitolite@cvpscmip01:/usr/[yourname]/[your_repository_name]
Your repository is also visible at Web!
Suggestion:
1. Work as own at first in your usr folder. (No need to inform GIT Admin)
2. Rise your project to root folder if it is company widely used and relatively stable. (Need GIT
   Admin help)
3. Old Subversion project will moved to root folder by GIT Admin already




http://cvpscmip01/usr/eric/MTtest-Assistant.git
More GIT tricks need SSH and console now
Setting more description for your own repository:




6749@SHE127731 /d/git
$ echo "A semi-auto MES Yield Limit Batch setting tools used in SPAS 125-001" | ssh
gitolite@cvpscmip01 setdesc usr/eri
c/YieldLimits-Change
Enter passphrase for key '/c/Users/6749/.ssh/id_rsa':
New description is:
A semi-auto MES Yield Limit Batch setting tools used in SPAS 125-001
More document and essay about GIT
 GitExtensions User Manual (in your
  hard drive after install GIT Extension)
 Pro GIT (Chinese)
 GIT Magic (Chinese)
 《Git权威指南》
Things we not mentioned:
 GIT command line
 Branch, Merge, Rebase, Cherry Pick

More Related Content

What's hot

Introduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsIntroduction to Git Commands and Concepts
Introduction to Git Commands and Concepts
Carl Brown
 
Version control system
Version control systemVersion control system
Version control system
Andrew Liu
 
Introduction git
Introduction gitIntroduction git
Introduction git
Dian Sigit Prastowo
 
Git101
Git101Git101
Git101
Jason Noble
 
A Practical Introduction to git
A Practical Introduction to gitA Practical Introduction to git
A Practical Introduction to git
Emanuele Olivetti
 
Git 101
Git 101Git 101
Git 101
jayrparro
 
Version Control & Git
Version Control & GitVersion Control & Git
Version Control & Git
Jason Byrne
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
Lee Hanxue
 
Introduction to git & GitHub
Introduction to git & GitHubIntroduction to git & GitHub
Introduction to git & GitHub
Poornachandrakashi
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub
Naveen Pandey
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
Nilay Binjola
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
E Carter
 
Source control
Source controlSource control
Source control
Sachithra Gayan
 
Git
GitGit
The Fundamentals of Git
The Fundamentals of GitThe Fundamentals of Git
The Fundamentals of Git
DivineOmega
 
Comparison of SVN and Git
Comparison of SVN and GitComparison of SVN and Git
Comparison of SVN and Git
Daniel Wieth
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
Nicolás Tourné
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article
PRIYATHAMDARISI
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
Roland Emmanuel Salunga
 
Learning git
Learning gitLearning git
Learning git
Sid Anand
 

What's hot (20)

Introduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsIntroduction to Git Commands and Concepts
Introduction to Git Commands and Concepts
 
Version control system
Version control systemVersion control system
Version control system
 
Introduction git
Introduction gitIntroduction git
Introduction git
 
Git101
Git101Git101
Git101
 
A Practical Introduction to git
A Practical Introduction to gitA Practical Introduction to git
A Practical Introduction to git
 
Git 101
Git 101Git 101
Git 101
 
Version Control & Git
Version Control & GitVersion Control & Git
Version Control & Git
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 
Introduction to git & GitHub
Introduction to git & GitHubIntroduction to git & GitHub
Introduction to git & GitHub
 
Introduction to git hub
Introduction to git hubIntroduction to git hub
Introduction to git hub
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
 
The everyday developer's guide to version control with Git
The everyday developer's guide to version control with GitThe everyday developer's guide to version control with Git
The everyday developer's guide to version control with Git
 
Source control
Source controlSource control
Source control
 
Git
GitGit
Git
 
The Fundamentals of Git
The Fundamentals of GitThe Fundamentals of Git
The Fundamentals of Git
 
Comparison of SVN and Git
Comparison of SVN and GitComparison of SVN and Git
Comparison of SVN and Git
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Learning git
Learning gitLearning git
Learning git
 

Similar to Git extension-training

Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
Betclic Everest Group Tech Team
 
git and github-1.pptx
git and github-1.pptxgit and github-1.pptx
git and github-1.pptx
tnscharishma
 
Version control git day02
Version control   git day02Version control   git day02
Version control git day02
Gourav Varma
 
Git overview
Git overviewGit overview
Git overview
Gowarthini
 
Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdf
uzair
 
ePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version ControlePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version Control
Giuseppe Masetti
 
Version control git day03(amarnath dada)
Version control   git day03(amarnath dada)Version control   git day03(amarnath dada)
Version control git day03(amarnath dada)
Gourav Varma
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and Github
Wycliff1
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network Engineers
Joel W. King
 
Version control git day03
Version control   git day03Version control   git day03
Version control git day03
Gourav Varma
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configuration
Kishor Kumar
 
Github By Nyros Developer
Github By Nyros DeveloperGithub By Nyros Developer
Github By Nyros Developer
Nyros Technologies
 
Version control git day03
Version control   git day03Version control   git day03
Version control git day03
Gourav Varma
 
GIT By Sivakrishna
GIT By SivakrishnaGIT By Sivakrishna
GIT By Sivakrishna
Nyros Technologies
 
GitHub Event.pptx
GitHub Event.pptxGitHub Event.pptx
GitHub Event.pptx
KeerthanaJ32
 
Introduction to git and githhub with practicals.pptx
Introduction to git and githhub with practicals.pptxIntroduction to git and githhub with practicals.pptx
Introduction to git and githhub with practicals.pptx
Abdul Salam
 
Git training (basic)
Git training (basic)Git training (basic)
Git training (basic)
Arashdeepkaur16
 
Learn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsLearn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levels
Gorav Singal
 
Let's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHubLet's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHub
Kim Moir
 
An introductory guide to GIT
An introductory guide to GITAn introductory guide to GIT
An introductory guide to GIT
Amith jayasekara
 

Similar to Git extension-training (20)

Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
git and github-1.pptx
git and github-1.pptxgit and github-1.pptx
git and github-1.pptx
 
Version control git day02
Version control   git day02Version control   git day02
Version control git day02
 
Git overview
Git overviewGit overview
Git overview
 
Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdf
 
ePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version ControlePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version Control
 
Version control git day03(amarnath dada)
Version control   git day03(amarnath dada)Version control   git day03(amarnath dada)
Version control git day03(amarnath dada)
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and Github
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network Engineers
 
Version control git day03
Version control   git day03Version control   git day03
Version control git day03
 
Git installation and configuration
Git installation and configurationGit installation and configuration
Git installation and configuration
 
Github By Nyros Developer
Github By Nyros DeveloperGithub By Nyros Developer
Github By Nyros Developer
 
Version control git day03
Version control   git day03Version control   git day03
Version control git day03
 
GIT By Sivakrishna
GIT By SivakrishnaGIT By Sivakrishna
GIT By Sivakrishna
 
GitHub Event.pptx
GitHub Event.pptxGitHub Event.pptx
GitHub Event.pptx
 
Introduction to git and githhub with practicals.pptx
Introduction to git and githhub with practicals.pptxIntroduction to git and githhub with practicals.pptx
Introduction to git and githhub with practicals.pptx
 
Git training (basic)
Git training (basic)Git training (basic)
Git training (basic)
 
Learn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsLearn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levels
 
Let's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHubLet's Git this Party Started: An Introduction to Git and GitHub
Let's Git this Party Started: An Introduction to Git and GitHub
 
An introductory guide to GIT
An introductory guide to GITAn introductory guide to GIT
An introductory guide to GIT
 

Recently uploaded

Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 

Recently uploaded (20)

Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 

Git extension-training

  • 1. GIT and its Extension Training Eric Guo 2012-03-27
  • 2. Training Agenda • Version Control History, GIT Design Goal • GIT Extension Installation and Setup • GIT Concept and Terminology • GIT Daily Usage in SVN way • Create your own GIT repo (local & remote) • New GIT feature and further more manual
  • 3. Version Control History  manually keep track of versions of code! (1960s)  keep lots of versions in one file! (1972, SCCS)  You can each have your own copy checked out! (1982, RCS)  version multiple files at once! (1986, CVS, atomic by Subversion 2000)  shared repository can be on a remote machine! (1994, CVS with )  open source version control hosting! (1999, SourceForge)  no central repository! (2005, GIT)  When you checkout that’s a fork too, and you can do that in public! (2008, GIThub)
  • 4. GIT & GitHub History  Torvalds wanted a distributed system that he could use like BitKeeper, but none of the available free systems met his needs, particularly his performance needs. From an email he wrote on 7 April 2005 while writing the first prototype.  GitHub is a web-based hosting service for software development projects that use the Git revision control system. GitHub offers both commercial plans and free accounts for open source projects. According to the Git User's Survey in 2009, GitHub is the most popular Git hosting site.
  • 5. GIT Design Goal • Take CVS as an example of what not to do; if in doubt, make the exact opposite decision. • Support a distributed, BitKeeper-like workflow • Very high performanc and strong safeguards against corruption, either accidental or malicious
  • 6. GIT Extension Design Goal • GitExtensions is a shell extension, a Visual Studio 2008 / 2010 plug-in and a standalone GIT repository tool. • Great tools enable you think and work in Unix style gradually
  • 7. GIT Extension Installation – All User  http://code.google.com/p/gitextensions/ (download URL)
  • 13. GIT Extension Installation – Bash only
  • 14. GIT Extension Installation – cross-platform
  • 15. GIT Extension Setup GIT Extension  Settings  Settings to fill:  User Name  eMail
  • 17. GIT Email your Public key to Admin • Copy selection text and email to your Admin • Save private key because you need private key to login latter • Loss private key need regenerate private key and resent public key to Admin
  • 18. GIT clone your first repositories to test Repository to clone: gitolite@cvpscmip01:testing
  • 19. GIT Commit your first change to test
  • 20. GIT Daily Usage in SVN way  Clone (SVN Checkout)  Commit (in Local!)  Push (SVN Commit)  Pull (SVN Update All)  gitK (SVN History)
  • 22. gitK – a commit viewer for git
  • 23. GIT Key Sales Point • Very fast and user friendly • Source Code Repository is distributed, isolated, history complete • All action can run in Local except pull and push • Submit and rollback always success (until pull and push) • Can fix last submit very easily
  • 24. Create your GIT repository in GIT Extension Open Repopsitory  Your not GIT init yet folder  Initialize Repository
  • 25. Add .gitignore for VS.NET intermediate files Forgot any add ignore file and pattern in Subversion, now it’s a One-click only! But don’t forgot to add ignore files when you initial the repository!
  • 27. Push your repository to CVPSCMIP01 You can to put any repository to: (no need inform GIT admin!) gitolite@cvpscmip01:/usr/[yourname]/[your_repository_name]
  • 28. Your repository is also visible at Web! Suggestion: 1. Work as own at first in your usr folder. (No need to inform GIT Admin) 2. Rise your project to root folder if it is company widely used and relatively stable. (Need GIT Admin help) 3. Old Subversion project will moved to root folder by GIT Admin already http://cvpscmip01/usr/eric/MTtest-Assistant.git
  • 29. More GIT tricks need SSH and console now Setting more description for your own repository: 6749@SHE127731 /d/git $ echo "A semi-auto MES Yield Limit Batch setting tools used in SPAS 125-001" | ssh gitolite@cvpscmip01 setdesc usr/eri c/YieldLimits-Change Enter passphrase for key '/c/Users/6749/.ssh/id_rsa': New description is: A semi-auto MES Yield Limit Batch setting tools used in SPAS 125-001
  • 30. More document and essay about GIT  GitExtensions User Manual (in your hard drive after install GIT Extension)  Pro GIT (Chinese)  GIT Magic (Chinese)  《Git权威指南》 Things we not mentioned:  GIT command line  Branch, Merge, Rebase, Cherry Pick