Git SCM Fehmi Can SAĞLAM 12/2010
What is Git? <ul><li>A source code manager
A distributed version control system
Designed and developed by Linus Torvalds for Linux kernel development.  </li></ul>
Why should I use a version control system? <ul><li>Freedom to play </li><ul><li>Code anything you want without worrying ab...
Git history <ul><li>Git development began after many Linux kernel developers chose to give up access to the proprietary Bi...
The ability to use BitKeeper free of charge had been withdrawn by the copyright holder Larry McVoy after he claimed Andrew...
Git history <ul><li>The development of Git began on April 3, 2005
The first merge of multiple branches was done on April 18
Torvalds achieved his performance goals; on April 29, the nascent Git was benchmarked recording patches to the Linux kerne...
On June 16, the kernel 2.6.12 release was managed by Git  </li></ul>
Design criterias <ul><li>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 strong safeguards against corruption, either accidental or malicious
Very high performance </li></ul>
Why should I use Git? <ul><li>Other source control software </li><ul><li>Subversion
Mercurial
Perforce
Upcoming SlideShare
Loading in …5
×

Git SCM

1,130 views

Published on

Git SCM at KTÜ Computer Engineering Department

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,130
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Git SCM

  1. 1. Git SCM Fehmi Can SAĞLAM 12/2010
  2. 2. What is Git? <ul><li>A source code manager
  3. 3. A distributed version control system
  4. 4. Designed and developed by Linus Torvalds for Linux kernel development. </li></ul>
  5. 5. Why should I use a version control system? <ul><li>Freedom to play </li><ul><li>Code anything you want without worrying about breaking anything </li></ul><li>Freedom to branch </li><ul><li>Easily manage versions of your software </li></ul><li>Freedom to share </li><ul><li>Work together with any number of developers </li></ul></ul>
  6. 6. Git history <ul><li>Git development began after many Linux kernel developers chose to give up access to the proprietary BitKeeper system.
  7. 7. The ability to use BitKeeper free of charge had been withdrawn by the copyright holder Larry McVoy after he claimed Andrew Tridgell had reverse engineered the BitKeeper protocols. </li></ul>
  8. 8. Git history <ul><li>The development of Git began on April 3, 2005
  9. 9. The first merge of multiple branches was done on April 18
  10. 10. Torvalds achieved his performance goals; on April 29, the nascent Git was benchmarked recording patches to the Linux kernel tree at the rate of 6.7 per second
  11. 11. On June 16, the kernel 2.6.12 release was managed by Git </li></ul>
  12. 12. Design criterias <ul><li>Take CVS as an example of what not to do; if in doubt, make the exact opposite decision
  13. 13. Support a distributed, BitKeeper-like workflow
  14. 14. Very strong safeguards against corruption, either accidental or malicious
  15. 15. Very high performance </li></ul>
  16. 16. Why should I use Git? <ul><li>Other source control software </li><ul><li>Subversion
  17. 17. Mercurial
  18. 18. Perforce
  19. 19. Bazaar </li></ul></ul>
  20. 20. Why should I use Git? <ul><li>http://whygitisbetterthanx.com/
  21. 21. Cheap local branching
  22. 22. Fast
  23. 23. Less disk space
  24. 24. Distributed (Ability to work offline)
  25. 25. Staging area
  26. 26. Any workflow </li></ul>
  27. 27. Possible workflows <ul><li>http://whygitisbetterthanx.com/#any-workflow </li></ul><ul><li>Centralized workflow </li></ul>
  28. 28. Possible workflows <ul><li>Integration Manager Workflow </li></ul>
  29. 29. Possible workflows <ul><li>Dictator and Lieutenants Workflow </li></ul>
  30. 30. Staging area <ul><li>An intermediate area that you can setup what you want your commit to look like before you commit it.
  31. 31. Seperate logically unrelated modifications in a file to two different commits </li></ul>
  32. 32. Commands <ul><li>git add
  33. 33. git commit
  34. 34. git push
  35. 35. git fetch/pull
  36. 36. git branch
  37. 37. git merge
  38. 38. git stash </li></ul>
  39. 39. Portability <ul><li>POSIX-based systems </li><ul><li>Linux, Unix, BSD, MacOS X </li></ul><li>Windows </li><ul><li>On top of Cygwin
  40. 40. msysgit </li></ul></ul>
  41. 41. References <ul><li>http://en.wikipedia.org/wiki/Git_(software)
  42. 42. http://whygitisbetterthanx.com/ </li></ul>
  43. 43. 4Primes
  44. 44. 4Primes
  45. 45. Thanks <ul><li>Questions?
  46. 46. formspring.me/fehmicansaglam
  47. 47. twitter.com/fehmicansaglam
  48. 48. facebook.com/4primes
  49. 49. twitter.com/4primes </li></ul>

×