Git extension-training


Published on

The one hours GIT Extension Training focus basic usage and installation for Subversion users.

Given at SDSS - SanDisk as internal training.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Git extension-training

  1. 1. GIT and its Extension TrainingEric Guo 2012-03-27
  2. 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. 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. 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 Users Survey in 2009, GitHub is the most popular Git hosting site.
  5. 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. 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. 7. GIT Extension Installation – All User (download URL)
  8. 8. GIT Extension Installation – Both
  9. 9. GIT Extension Installation - Integration
  10. 10. GIT Extension Installation - PuTTY
  11. 11. GIT Extension Installation - KDiff3
  12. 12. GIT Extension Installation – MsysGIT
  13. 13. GIT Extension Installation – Bash only
  14. 14. GIT Extension Installation – cross-platform
  15. 15. GIT Extension SetupGIT Extension  Settings  Settings to fill: User Name eMail
  16. 16. GIT Generate SSH Key
  17. 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. 18. GIT clone your first repositories to test Repository to clone: gitolite@cvpscmip01:testing
  19. 19. GIT Commit your first change to test
  20. 20. GIT Daily Usage in SVN way Clone (SVN Checkout) Commit (in Local!) Push (SVN Commit) Pull (SVN Update All) gitK (SVN History)
  21. 21. GIT ConceptandTerminology
  22. 22. gitK – a commit viewer for git
  23. 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. 24. Create your GIT repository in GIT ExtensionOpen Repopsitory  Your not GIT init yet folder  Initialize Repository
  25. 25. Add .gitignore for VS.NET intermediate filesForgot 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!
  26. 26. Commit initial version of files
  27. 27. Push your repository to CVPSCMIP01You can to put any repository to: (no need inform GIT admin!)gitolite@cvpscmip01:/usr/[yourname]/[your_repository_name]
  28. 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 alreadyhttp://cvpscmip01/usr/eric/MTtest-Assistant.git
  29. 29. More GIT tricks need SSH and console nowSetting 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" | sshgitolite@cvpscmip01 setdesc usr/eric/YieldLimits-ChangeEnter 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. 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