1 / 137

Introducing Git version control into your team

Introducing Git version control into your team. Mark Groves mgroves@microsoft.com @mgroves84 . Agenda. Introduction What is Git? Git 101 Enabling Team Development Short vs. Long Lived Branches Deploying with Git Your Org uses TFS? Tools/Resources. WHO AM I?. Mark Groves

dai
Download Presentation

Introducing Git version control into your team

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introducing Git version control into your team Mark Groves mgroves@microsoft.com @mgroves84

  2. Agenda • Introduction • What is Git? • Git 101 • Enabling Team Development • Short vs. Long Lived Branches • Deploying with Git • Your Org uses TFS? • Tools/Resources

  3. WHO AM I? Mark Groves Principal Program Manager Developer Division

  4. History

  5. History Created by Linus Torvalds for work on the Linux kernel ~2005

  6. History Created by Linus Torvalds for work on the Linux kernel ~2005 Some of the companies that use git:

  7. What is Git?

  8. Git is a Distributed Version Control System

  9. OR

  10. Git is a Directory Content Management System

  11. Git is a Tree history storage system

  12. Git is a Stupid content tracker

  13. How ever you think about it…

  14. How ever you think about it… Git is SUPER cool

  15. Distributed Everyone has the complete history

  16. Distributed Everyone has the complete history Everything is done offline …except push/pull

  17. Distributed Everyone has the complete history Everything is done offline No central authority …except by convention

  18. Distributed Everyone has the complete history Everything is done offline No central authority Changes can be shared without a server

  19. Centralized VC vs. Distributed VC Central Server Remote Server

  20. Branching

  21. Branching Forget what you know from Central VC (…TFS, SVN, Perforce...)

  22. Branching Forget what you know from Central VC Git branch is “Sticky Note” on a graph node

  23. Branching Forget what you know from Central VC Git branch is “Sticky Note” on a graph node All branch work takes place within the same folder within your file system.

  24. Branching Forget what you know from Central VC Git branch is “Sticky Note” on the graph All branch work takes place within the same folder within your file system. When you switch branches you are moving the “Sticky Note”

  25. Initialization C:\> mkdir CoolProject C:\> cd CoolProject C:\CoolProject > git init Initialized empty Git repository in C:/CoolProject/.git C:\CoolProject > notepad README.txt C:\CoolProject > git add . C:\CoolProject > git commit -m 'my first commit' [master (root-commit) 7106a52] my first commit 1 file changed, 1 insertion(+) create mode 100644 README.txt

  26. Branches Illustrated master A > git commit –m ‘my first commit’

  27. Branches Illustrated master A B C > git commit (x2)

  28. Branches Illustrated master A B C bug123 > git checkout –b bug123

  29. Branches Illustrated master A B C D E bug123 > git commit (x2)

  30. Branches Illustrated master A B C D E bug123 > git checkout master

  31. Branches Illustrated master A B C D E bug123 > git merge bug123

  32. Branches Illustrated master A B C D E > git branch -d bug123

  33. Branches Illustrated master A B C D E F G bug456

  34. Branches Illustrated master A B C D E F G bug456 > git checkout master

  35. Branches Illustrated master A B C D E H F G bug456 > git merge bug456

  36. Branches Illustrated master A B C D E H F G > git branch -d bug456

  37. Branches Illustrated master A B C D E F G bug456

  38. Branches Illustrated master A B C D E F’ G’ bug456 > git rebase master

  39. Branches Illustrated master G’ A B C D E F’ bug456 > git checkout master > git merge bug456

  40. Branching Review

  41. Branching Review Quick and Easy to create ‘Feature’ Branches

  42. Branching Review Quick and Easy to create ‘Feature’ Branches Local branches are very powerful

  43. Branching Review Quick and Easy to create ‘Feature’ Branches Local branches are very powerful Rebase is not scary

  44. Software is a Team Sport

  45. Sharing commits Tom’s Repo Matt’s Repo C C A B A B Tracey’s Repo My Local Repo C A B C A B

  46. Adding a Remote

  47. Sharing commits Tom’s Repo Matt’s Repo D D C C A B A B Remote Repo C D A B Tracey’s Repo My Local Repo D C D A B C A B

  48. Setting up a Remote

More Related