Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Git Going for the Transylvania JUG

Git Going for the Transylvania JUG

Matthew McCullough presenting Git to the Transylvania Java Users Group in October of 2011.

Bededa744012c87721d68f69342f81b0?s=128

Matthew McCullough

October 18, 2011
Tweet

Transcript

  1. Introduction to Git at the Transylvania JUG by Matthew McCullough

  2. Matthew McCullough @matthewmccull

  3. None
  4. Git

  5. “Cool kids” version control system

  6. Open Source

  7. bash scripts ☛ C code

  8. None
  9. Git -noun British Slang. an unpleasant or contemptible person -Oxford

    English Dictionary “ ”
  10. None
  11. I'm an egotistical bastard, and I name all my projects

    after myself. First Linux, now git. -Linus Torvalds “ ”
  12. ➡How to commit, branch and tag ➡How Git implements a

    new commit-referencing syntax ➡How to pull and push changes between repositories ➡How to set up a Git repository
  13. ➡How to set up a Git repository

  14. None
  15. > cd myproj > git init Initialized empty Git repository

    in /stuff/myproj/.git/
  16. ➡How to set up a Git repository

  17. None
  18. ➡How to commit, branch and tag ➡How Git implements a

    new commit-referencing syntax ➡How to pull and push changes between repositories ➡How to set up a Git repository
  19. ➡How to commit, branch and tag

  20. None
  21. ➡How to commit

  22. > git add <FILENAME>

  23. Local Branches Remote Branches Upstream Branches Working Copy commit

  24. > git status # On branch master # Initial commit

    # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # new file: myfile.txt
  25. > git commit -m”<MESSAGE>” [master (root-commit) 498cc44] My first commit

    1 files changed, 5 insertions(+), 0 deletions(-) create mode 100644 myfile.txt
  26. ➡How to branch

  27. > git branch <BRANCHNAME>

  28. Local Branches Remote Branches Upstream Branches Working Copy Branches

  29. > git checkout <BRANCHNAME> Switched to branch 'mybranch'

  30. Local Branches Remote Branches Upstream Branches Working Copy Branches

  31. Insane branch count?

  32. Local Remote Upstream Integ Product Integ Product Integ Product

  33. Local Remote Upstream Integ Product Integ Product Integ Product Idea

    Story Feature Feature Feature
  34. Local Remote Upstream Integ Product Integ Product Integ Product Idea

    Story Feature Feature Feature
  35. ➡How to tag

  36. > git tag <TAGNAME>

  37. > git tag -a <TAGNAME> -m”<MESSAGE>”

  38. ➡How to commit, branch and tag

  39. None
  40. ➡How to commit, branch and tag ➡How Git implements a

    new commit-referencing syntax ➡How to pull and push changes between repositories ➡How to set up a Git repository
  41. ➡How Git implements a new commit-referencing syntax

  42. None
  43. 9AB223D28B1AA46EF1780B22F304982E39872C34 <html> <body> <p>This is a test</p> <img src="http://ai.com/icon.gif"> </body>

    </html>
  44. > git log commit 0fc27c73dea82a0576c6cf262fb517d24e75a223 Author: Matthew McCullough <matthewm@ambientideas.com> Date:

    Mon Oct 24 10:42:20 2013 +0300 Performance enhancement of calc engine commit 7d946e814233814b1780ed1035da271cbb37206d Author: Matthew McCullough <matthewm@ambientideas.com> Date: Mon Oct 24 12:59:41 2013 +0300 Translation to Esperanto
  45. tree tree: 7e8b1 web blob: 9ab16 index.html a10b3 tree blob:

    8d162 logo.jpg blob: 51d22 draw.js 7e8b1 commit tree: a10b3 parent: nil author: Fird committer: Matthew message: Major refactoring of the web content. c67db blob <html> <body></body> </html> 9ab16 blob //Some more javascript var renderSize 51d22 blob 7D 8D B3 7F BD 12 9F E9 7B 78 9D 3F 5C A6 72 CB 8d162
  46. Hashes tree tree: 7e8b1 web blob: 9ab16 index.html a10b3 tree

    blob: 8d162 logo.jpg blob: 51d22 draw.js 7e8b1 commit tree: a10b3 parent: nil author: Fird committer: Matthew message: Major refactoring of the web content. c67db blob <html> <body></body> </html> 9ab16 blob //Some more javascript var renderSize 51d22 blob 7D 8D B3 7F BD 12 9F E9 7B 78 9D 3F 5C A6 72 CB 8d162
  47. Hashes tree tree: 7e8b1 web blob: 9ab16 index.html a10b3 tree

    blob: 8d162 logo.jpg blob: 51d22 draw.js 7e8b1 commit tree: a10b3 parent: nil author: Fird committer: Matthew message: Major refactoring of the web content. c67db blob <html> <body></body> </html> 9ab16 blob //Some more javascript var renderSize 51d22 blob 7D 8D B3 7F BD 12 9F E9 7B 78 9D 3F 5C A6 72 CB 8d162
  48. Hashes tree tree: 7e8b1 web blob: 9ab16 index.html a10b3 tree

    blob: 8d162 logo.jpg blob: 51d22 draw.js 7e8b1 commit tree: a10b3 parent: nil author: Fird committer: Matthew message: Major refactoring of the web content. c67db blob <html> <body></body> </html> 9ab16 blob //Some more javascript var renderSize 51d22 blob 7D 8D B3 7F BD 12 9F E9 7B 78 9D 3F 5C A6 72 CB 8d162
  49. Hashes tree tree: 7e8b1 web blob: 9ab16 index.html a10b3 tree

    blob: 8d162 logo.jpg blob: 51d22 draw.js 7e8b1 commit tree: a10b3 parent: nil author: Fird committer: Matthew message: Major refactoring of the web content. c67db blob <html> <body></body> </html> 9ab16 blob //Some more javascript var renderSize 51d22 blob 7D 8D B3 7F BD 12 9F E9 7B 78 9D 3F 5C A6 72 CB 8d162
  50. Hashes tree tree: 7e8b1 web blob: 9ab16 index.html a10b3 tree

    blob: 8d162 logo.jpg blob: 51d22 draw.js 7e8b1 commit tree: a10b3 parent: nil author: Fird committer: Matthew message: Major refactoring of the web content. c67db blob <html> <body></body> </html> 9ab16 blob //Some more javascript var renderSize 51d22 blob 7D 8D B3 7F BD 12 9F E9 7B 78 9D 3F 5C A6 72 CB 8d162
  51. Hashes tree tree: 7e8b1 web blob: 9ab16 index.html a10b3 tree

    blob: 8d162 logo.jpg blob: 51d22 draw.js 7e8b1 commit tree: a10b3 parent: nil author: Fird committer: Matthew message: Major refactoring of the web content. c67db blob <html> <body></body> </html> 9ab16 blob //Some more javascript var renderSize 51d22 blob 7D 8D B3 7F BD 12 9F E9 7B 78 9D 3F 5C A6 72 CB 8d162
  52. Hashes tree tree: 7e8b1 web blob: 9ab16 index.html a10b3 tree

    blob: 8d162 logo.jpg blob: 51d22 draw.js 7e8b1 commit tree: a10b3 parent: nil author: Fird committer: Matthew message: Major refactoring of the web content. c67db blob <html> <body></body> </html> 9ab16 blob //Some more javascript var renderSize 51d22 blob 7D 8D B3 7F BD 12 9F E9 7B 78 9D 3F 5C A6 72 CB 8d162
  53. Hashes tree tree: 7e8b1 web blob: 9ab16 index.html a10b3 tree

    blob: 8d162 logo.jpg blob: 51d22 draw.js 7e8b1 commit tree: a10b3 parent: nil author: Fird committer: Matthew message: Major refactoring of the web content. c67db blob <html> <body></body> </html> 9ab16 blob //Some more javascript var renderSize 51d22 blob 7D 8D B3 7F BD 12 9F E9 7B 78 9D 3F 5C A6 72 CB 8d162
  54. v1 v2 v3 commit tree: 9a87b parent: nil author: Fird

    committer: Matthew message: Major refactoring of the Javascript rendering engine. c67db commit tree: b22c1 parent: c67db author: Tim committer: Fird message: Minor update to HTML 9bd21 commit tree: b22c1 parent: 9bd21 author: Johnny committer: Joe message: New language transations 1c2d7
  55. v1 v2 v3 commit tree: 9a87b parent: nil author: Fird

    committer: Matthew message: Major refactoring of the Javascript rendering engine. c67db commit tree: b22c1 parent: c67db author: Tim committer: Fird message: Minor update to HTML 9bd21 commit tree: b22c1 parent: 9bd21 author: Johnny committer: Joe message: New language transations 1c2d7
  56. v1 v2 v3 commit tree: 9a87b parent: nil author: Fird

    committer: Matthew message: Major refactoring of the Javascript rendering engine. c67db commit tree: b22c1 parent: c67db author: Tim committer: Fird message: Minor update to HTML 9bd21 commit tree: b22c1 parent: 9bd21 author: Johnny committer: Joe message: New language transations 1c2d7
  57. v1 v2 v3 commit tree: 9a87b parent: nil author: Fird

    committer: Matthew message: Major refactoring of the Javascript rendering engine. c67db commit tree: b22c1 parent: c67db author: Tim committer: Fird message: Minor update to HTML 9bd21 commit tree: b22c1 parent: 9bd21 author: Johnny committer: Joe message: New language transations 1c2d7
  58. v1 v2 v3 commit tree: 9a87b parent: nil author: Fird

    committer: Matthew message: Major refactoring of the Javascript rendering engine. c67db commit tree: b22c1 parent: c67db author: Tim committer: Fird message: Minor update to HTML 9bd21 commit tree: b22c1 parent: 9bd21 author: Johnny committer: Joe message: New language transations 1c2d7
  59. v1 v2 v3 commit tree: 9a87b parent: nil author: Fird

    committer: Matthew message: Major refactoring of the Javascript rendering engine. c67db commit tree: b22c1 parent: c67db author: Tim committer: Fird message: Minor update to HTML 9bd21 commit tree: b22c1 parent: 9bd21 author: Johnny committer: Joe message: New language transations 1c2d7
  60. v1 v2 v3 commit tree: 9a87b parent: nil author: Fird

    committer: Matthew message: Major refactoring of the Javascript rendering engine. c67db commit tree: b22c1 parent: c67db author: Tim committer: Fird message: Minor update to HTML 9bd21 commit tree: b22c1 parent: 9bd21 author: Johnny committer: Joe message: New language transations 1c2d7
  61. v1 v2 v3 commit tree: 9a87b parent: nil author: Fird

    committer: Matthew message: Major refactoring of the Javascript rendering engine. c67db commit tree: b22c1 parent: c67db author: Tim committer: Fird message: Minor update to HTML 9bd21 commit tree: b22c1 parent: 9bd21 author: Johnny committer: Joe message: New language transations 1c2d7
  62. RELEASE_1.0 HEAD bug979branch commit c67db commit 9bd21 commit 1c2d7 commit

    8c2d1 commit 1bdcd commit 2daa1
  63. RELEASE_1.0 HEAD bug979branch commit c67db commit 9bd21 commit 1c2d7 commit

    8c2d1 commit 1bdcd commit 2daa1
  64. RELEASE_1.0 HEAD bug979branch commit c67db commit 9bd21 commit 1c2d7 commit

    8c2d1 commit 1bdcd commit 2daa1
  65. RELEASE_1.0 HEAD bug979branch commit c67db commit 9bd21 commit 1c2d7 commit

    8c2d1 commit 1bdcd commit 2daa1
  66. RELEASE_1.0 HEAD bug979branch commit c67db commit 9bd21 commit 1c2d7 commit

    8c2d1 commit 1bdcd commit 2daa1
  67. RELEASE_1.0 HEAD bug979branch commit c67db commit 9bd21 commit 1c2d7 commit

    8c2d1 commit 1bdcd commit 2daa1
  68. ➡How Git implements a new commit-referencing syntax

  69. None
  70. ➡How to commit, branch and tag ➡How Git implements a

    new commit-referencing syntax ➡How to pull and push changes between repositories ➡How to set up a Git repository
  71. ➡How to pull and push changes between repositories

  72. None
  73. > git clone http://this.com/myproj.git > cd myproj Cloning into hellogitworld...

    remote: Counting objects: 3871, done. remote: Compressing objects: 100% (73/73), done. remote: Total 3871 (delta 51), reused 3853 (delta 36) Receiving objects: 100% (3871/3871), 297.88 KiB | 35 KiB/s, done. Resolving deltas: 100% (51/51), done.
  74. Local Branches Remote Branches Upstream Branches Working Copy merge merge

    commit fetch push clone clone clone push pull pull pull
  75. Central Repo C e n t r a l i

    z e d
  76. Blessed Repo D i c t a t o r

    s h i p
  77. Certified Repo Development Repo I n t e g r

    a t i o n M a n a g e d Continuous Integration Server
  78. ➡How to pull and push changes between repositories

  79. None
  80. Introduction to Git & Gerrit at the Transylvania JUG by

    Matthew McCullough