Introduction to Git

Introduction to Git

My 1 hour intro to Git

9375a9529679f1b42b567a640d775e7d?s=128

Scott Chacon

November 25, 2011
Tweet

Transcript

  1. Introduction to Git Scott Chacon

  2. Me

  3. Scott Chacon

  4. None
  5. git-scm.com

  6. http://gitref.org

  7. http://progit.org

  8. http://progit.org

  9. schacon@gmail.com

  10. @chacon twitter

  11. </me>

  12. What is Git?

  13. Git is an open source, distributed version control system designed

    for speed and efficiency
  14. Git is an open source, distributed version control system designed

    for speed and efficiency
  15. git-scm.com

  16. Git is an open source, distributed version control system designed

    for speed and efficiency
  17. File Checkout Version Database Version 3 Version 2 Version 1

    Central VCS Server Computer A
  18. File Checkout Version Database Version 3 Version 2 Version 1

    Central VCS Server Computer A File Checkout Computer B
  19. Version Database Version 3 Version 2 Version 1 Server Computer

    File Computer A Version Database Version 3 Version 2 Version 1 File Computer B Version Database Version 3 Version 2 Version 1
  20. Fully Distributed

  21. (almost) everything is local

  22. which means

  23. which means everything is fast

  24. which means everything is fast every clone is a backup

  25. which means everything is fast every clone is a backup

    work offline
  26. No Network Needed

  27. No Network Needed Performing a diff

  28. No Network Needed Performing a diff Viewing file history

  29. No Network Needed Performing a diff Viewing file history Committing

    changes
  30. No Network Needed Performing a diff Viewing file history Committing

    changes Merging branches
  31. No Network Needed Performing a diff Viewing file history Committing

    changes Merging branches Obtaining other revisions of a file
  32. No Network Needed Performing a diff Viewing file history Committing

    changes Merging branches Obtaining other revisions of a file Switching branches
  33. No Network Needed Performing a diff Viewing file history Committing

    changes Merging branches Obtaining other revisions of a file Switching branches
  34. Immutable

  35. (almost) never removes data

  36. Snapshots, not Patches

  37. File Based Delta Storage

  38. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } README.txt hello.c hola.c
  39. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } README.txt hello.c hola.c
  40. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } README.txt hello.c hola.c
  41. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } README.txt hello.c hola.c #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } - printf("Hola\n"); + printf("Hola\n"); Commit B README.txt hello.c hola.c
  42. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } - printf("Hola\n"); + printf("Hola\n"); Commit B README.txt hello.c hola.c
  43. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } - printf("Hola\n"); + printf("Hola\n"); Commit B README.txt hello.c hola.c
  44. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } - printf("Hola\n"); + printf("Hola\n"); Commit B README.txt hello.c hola.c hola.c
  45. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hola.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } - printf("Hola\n"); + printf("Hola\n"); Commit B Commit C README.txt hello.c hola.c (rename)
  46. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hola.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } - printf("Hola\n"); + printf("Hola\n"); Commit B Commit C README.txt hello.c hola.c (rename)
  47. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hola project. Licensed under GPL. README.txt hola.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } - printf("Hola\n"); + printf("Hola\n"); Commit B Commit C -Hello +Hola Commit D README.txt hello.c hola.c (rename) (copy) #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } hello.c #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is Scott's Hello project. Licensed under GPL. README.txt hola.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } - printf("Hola\n"); + printf("Hola\n"); Commit B Commit C README.txt hello.c hola.c (rename)
  48. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hola project. Licensed under GPL. README.txt hola.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } - printf("Hola\n"); + printf("Hola\n"); Commit B Commit C -Hello +Hola Commit D README.txt hello.c hola.c (rename) (copy) #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } hello.c #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is Scott's Hello project. Licensed under GPL. README.txt hola.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } - printf("Hola\n"); + printf("Hola\n"); Commit B Commit C README.txt hello.c hola.c (rename)
  49. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hola project. Licensed under GPL. README.txt hola.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } - printf("Hola\n"); + printf("Hola\n"); Commit B Commit C -Hello +Hola Commit D README.txt hello.c hola.c (rename) (copy) #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } hello.c
  50. Git Snapshots

  51. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13
  52. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 CHECKSUM
  53. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 CHECKSUM
  54. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13
  55. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13
  56. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13
  57. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13
  58. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13
  59. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c
  60. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c
  61. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c
  62. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hello.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c
  63. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hola.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c
  64. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hola.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c Commit C c3d README.txt 6d4 hola.c
  65. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hola.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c Commit C c3d README.txt 6d4 hola.c
  66. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hola.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c Commit C c3d README.txt 6d4 hola.c
  67. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hola.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c Commit C c3d README.txt 6d4 hola.c
  68. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hola.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c Commit C c3d README.txt 6d4 hola.c
  69. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hello project. Licensed under GPL. README.txt hola.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c Commit C c3d README.txt 6d4 hola.c
  70. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hola project. Licensed under GPL. README.txt hola.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c Commit C c3d README.txt 6d4 hola.c This is Scott's Hola project. Licensed under GPL. 84f #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } hello.c
  71. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hola project. Licensed under GPL. README.txt hola.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c Commit C c3d README.txt 6d4 hola.c This is Scott's Hola project. Licensed under GPL. 84f #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } hello.c
  72. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hola project. Licensed under GPL. README.txt hola.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c Commit C c3d README.txt 6d4 hola.c This is Scott's Hola project. Licensed under GPL. 84f #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } hello.c
  73. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hola project. Licensed under GPL. README.txt hola.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c Commit C c3d README.txt 6d4 hola.c This is Scott's Hola project. Licensed under GPL. 84f Commit D 84f README.txt 6d4 hola.c 6d4 hello.c #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } hello.c
  74. #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } This is

    Scott's Hola project. Licensed under GPL. README.txt hola.c Commit A c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c Commit C c3d README.txt 6d4 hola.c This is Scott's Hola project. Licensed under GPL. 84f Commit D 84f README.txt 6d4 hola.c 6d4 hello.c #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } hello.c
  75. Commit A This is Scott's Hello project. Licensed under GPL.

    #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } - printf("Hola\n"); + printf("Hola\n"); Commit B Commit C -Hello +Hola Commit D README.txt hello.c hola.c (rename) (copy)
  76. Commit A c3d README.txt f13 hello.c This is Scott's Hello

    project. Licensed under GPL. c3d #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } f13 #include<stdio.h> int main(void) { printf("Hola\n"); return 0; } 6d4 Commit B c3d README.txt 6d4 hello.c Commit C c3d README.txt 6d4 hola.c This is Scott's Hola project. Licensed under GPL. 84f Commit D 84f README.txt 6d4 hola.c 6d4 hello.c Commit A This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } - printf("Hola\n"); + printf("Hola\n"); Commit B Commit C -Hello +Hola Commit D README.txt hello.c hola.c (rename) (copy)
  77. First Steps

  78. $ git config --global user.name “Scott Chacon” $ git config

    --global user.email “schacon@gmail.com”
  79. $ git config --global color.ui true

  80. Getting a Repo

  81. Create One

  82. git init

  83. $ touch hello_world.rb $ git init $ git add .

    $ git commit -m ‘first commit’
  84. $ touch hello_world.rb $ git init $ git add .

    $ git commit -m ‘first commit’
  85. $ tree -a . |-- .git | |-- HEAD |

    |-- branches | |-- config | |-- description | |-- hooks | | |-- post-commit.sample | | |-- post-receive.sample | | |-- ... | | |-- pre-rebase.sample | | `-- update.sample | |-- info | | `-- exclude | |-- objects | | |-- info | | `-- pack | |-- refs | | |-- heads | | `-- tags | `-- remotes `-- hello_world.rb 11 directories, 25 files
  86. $ tree -a . |-- .git | |-- HEAD |

    |-- branches | |-- config | |-- description | |-- hooks | | |-- post-commit.sample | | |-- post-receive.sample | | |-- ... | | |-- pre-rebase.sample | | `-- update.sample | |-- info | | `-- exclude | |-- objects | | |-- info | | `-- pack | |-- refs | | |-- heads | | `-- tags | `-- remotes `-- hello_world.rb 11 directories, 25 files
  87. $ tree -a . |-- .git | |-- HEAD |

    |-- branches | |-- config | |-- description | |-- hooks | | |-- post-commit.sample | | |-- post-receive.sample | | |-- ... | | |-- pre-rebase.sample | | `-- update.sample | |-- info | | `-- exclude | |-- objects | | |-- info | | `-- pack | |-- refs | | |-- heads | | `-- tags | `-- remotes `-- hello_world.rb 11 directories, 25 files
  88. $ touch hello_world.rb $ git init $ git add .

    $ git commit -m ‘first commit’
  89. $ touch hello_world.rb $ git init $ git add .

    $ git commit -m ‘first commit’
  90. $ tree -a . |-- .git | |-- COMMIT_EDITMSG |

    |-- HEAD | |-- branches | |-- config | |-- description | |-- hooks | | |-- applypatch-msg.sample | | `-- update.sample | |-- index | |-- info | | `-- exclude | |-- logs | | |-- HEAD | | `-- refs | | `-- heads | | `-- master | |-- objects | | |-- 32/09658ac8d80bc9726d3a33d77e3dfc5fe6035e | | |-- 53/9cd7886a627841d525a78d45cbc6396be20b41 | | |-- e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 | | |-- info | | `-- pack | |-- refs | | |-- heads | | | `-- master | | `-- tags | `-- remotes `-- hello_world.rb 17 directories, 33 files
  91. $ tree -a . |-- .git | |-- COMMIT_EDITMSG |

    |-- HEAD | |-- branches | |-- config | |-- description | |-- hooks | | |-- applypatch-msg.sample | | `-- update.sample | |-- index | |-- info | | `-- exclude | |-- logs | | |-- HEAD | | `-- refs | | `-- heads | | `-- master | |-- objects | | |-- 32/09658ac8d80bc9726d3a33d77e3dfc5fe6035e | | |-- 53/9cd7886a627841d525a78d45cbc6396be20b41 | | |-- e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 | | |-- info | | `-- pack | |-- refs | | |-- heads | | | `-- master | | `-- tags | `-- remotes `-- hello_world.rb 17 directories, 33 files
  92. $ tree -a . |-- .git | |-- COMMIT_EDITMSG |

    |-- HEAD | |-- branches | |-- config | |-- description | |-- hooks | | |-- applypatch-msg.sample | | `-- update.sample | |-- index | |-- info | | `-- exclude | |-- logs | | |-- HEAD | | `-- refs | | `-- heads | | `-- master | |-- objects | | |-- 32/09658ac8d80bc9726d3a33d77e3dfc5fe6035e | | |-- 53/9cd7886a627841d525a78d45cbc6396be20b41 | | |-- e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 | | |-- info | | `-- pack | |-- refs | | |-- heads | | | `-- master | | `-- tags | `-- remotes `-- hello_world.rb 17 directories, 33 files
  93. Clone One

  94. git clone

  95. $ git clone git://github.com/schacon/ticgit.git Initialized empty Git repository in /private/tmp/ticgit/.git/

    remote: Counting objects: 591, done. remote: Compressing objects: 100% (267/267), done. remote: Total 591 (delta 253), reused 587 (delta 252) Receiving objects: 100% (591/591), 73.05 KiB, done. Resolving deltas: 100% (253/253), done. $ cd ticgit/ $ ls LICENSE! ! Rakefile! examples! note! ! ticgit.gemspec README! ! bin! ! lib! ! spec $
  96. $ git clone git://github.com/schacon/ticgit.git Initialized empty Git repository in /private/tmp/ticgit/.git/

    remote: Counting objects: 591, done. remote: Compressing objects: 100% (267/267), done. remote: Total 591 (delta 253), reused 587 (delta 252) Receiving objects: 100% (591/591), 73.05 KiB, done. Resolving deltas: 100% (253/253), done. $ cd ticgit/ $ ls LICENSE! ! Rakefile! examples! note! ! ticgit.gemspec README! ! bin! ! lib! ! spec $
  97. $ git clone git://github.com/schacon/ticgit.git Initialized empty Git repository in /private/tmp/ticgit/.git/

    remote: Counting objects: 591, done. remote: Compressing objects: 100% (267/267), done. remote: Total 591 (delta 253), reused 587 (delta 252) Receiving objects: 100% (591/591), 73.05 KiB, done. Resolving deltas: 100% (253/253), done. $ cd ticgit/ $ ls LICENSE! ! Rakefile! examples! note! ! ticgit.gemspec README! ! bin! ! lib! ! spec $
  98. $ git clone git://github.com/schacon/ticgit.git Initialized empty Git repository in /private/tmp/ticgit/.git/

    remote: Counting objects: 591, done. remote: Compressing objects: 100% (267/267), done. remote: Total 591 (delta 253), reused 587 (delta 252) Receiving objects: 100% (591/591), 73.05 KiB, done. Resolving deltas: 100% (253/253), done. $ cd ticgit/ $ ls .git LICENSE! ! Rakefile! examples! note! ! ticgit.gemspec README! ! bin! ! lib! ! spec $
  99. Recording a Snapshot

  100. A Basic Workflow Edit files Stage the changes Review your

    changes Commit the changes vim / emacs / etc git add (file) repo status git commit
  101. A Basic Workflow Edit files Stage the changes Review your

    changes Commit the changes vim / emacs / etc git add (file) repo status git commit
  102. A Basic Workflow Edit files Stage the changes Review your

    changes Commit the changes vim / emacs / etc git add (file) repo status git commit
  103. A Basic Workflow Edit files Stage the changes Review your

    changes Commit the changes vim / emacs / etc git add (file) git status / git diff git commit
  104. A Basic Workflow Edit files Stage the changes Review your

    changes Commit the changes vim / emacs / etc git add (file) git status / git diff git commit
  105. A Basicerer Workflow Edit files Stage and Commit vim /

    emacs / etc git commit -a
  106. What’s going on here?

  107. $ git commit Created commit 77d3001: descriptive commit message 2

    files changed, 4 insertions(+), 2 deletions(-)
  108. $ git commit Created commit 77d3001: descriptive commit message 2

    files changed, 4 insertions(+), 2 deletions(-)
  109. 77d3001

  110. 77d3001

  111. 77d3001a1de6bf8f5e431972fe4d25b01e595c0b

  112. 77d3001a1de6bf8f5e431972fe4d25b01e595c0b

  113. 77d3001a1de6bf8f5e431972fe4d25b01e595c0b

  114. 77d3001a1de6bf8f5e431972fe4d25b01e595c0b commit size ae668.. tree parent author committer my commit

    message goes here and it is really, really cool c4ec5 a149e Scott Scott
  115. 77d3001a1de6bf8f5e431972fe4d25b01e595c0b commit size ae668.. tree parent author committer my commit

    message goes here and it is really, really cool c4ec5 a149e Scott Scott tree c4ec543b0322744e55c5efc9b6c4e449d398dbff parent a149e2160b3f7573768cdc2fce24d0881f3577e1 author Scott Chacon <schacon@gmail.com> 1223402504 -0700 committer Scott Chacon <schacon@gmail.com> 1223402504 -0700 descriptive commit message
  116. 77d3001a1de6bf8f5e431972fe4d25b01e595c0b commit size ae668.. tree parent author committer my commit

    message goes here and it is really, really cool c4ec5 a149e Scott Scott
  117. 77d3001a1de6bf8f5e431972fe4d25b01e595c0b commit size ae668.. tree parent author committer my commit

    message goes here and it is really, really cool c4ec5 a149e Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5
  118. 77d3001a1de6bf8f5e431972fe4d25b01e595c0b commit size ae668.. tree parent author committer my commit

    message goes here and it is really, really cool c4ec5 a149e Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5 100644 blob 3d5cd3e1fc4424472ea247d1bb5fcfc3809aadab app.yaml 100644 blob 1d31bf2dba611ba0de871320b4d73cdc39cc862b index.yaml 100644 blob 03e68c28b73e2650bee34763369faf6e029d5053 main.py
  119. 77d3001a1de6bf8f5e431972fe4d25b01e595c0b commit size ae668.. tree parent author committer my commit

    message goes here and it is really, really cool c4ec5 a149e Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5
  120. commit size ae668.. tree parent author committer my commit message

    goes here and it is really, really cool c4ec5 a149e Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5 commit size tree parent author committer this is the previous commit and I am very proud of it 2de54 38def Scott Scott
  121. commit size ae668.. tree parent author committer my commit message

    goes here and it is really, really cool c4ec5 a149e Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5 commit size tree parent author committer this is the previous commit and I am very proud of it 2de54 38def Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5
  122. commit size ae668.. tree parent author committer my commit message

    goes here and it is really, really cool c4ec5 a149e Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5 commit size tree parent author committer this is the previous commit and I am very proud of it 2de54 38def Scott Scott commit size tree parent author committer this is the commit before that and I'm not sure why 2fe65 90ecd Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5 app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5 commit size tree parent author committer this is the commit before that and I'm not sure why 2fe65 90ecd Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5
  123. commit size ae668.. tree parent author committer my commit message

    goes here and it is really, really cool c4ec5 a149e Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5 commit size tree parent author committer this is the previous commit and I am very proud of it 2de54 38def Scott Scott commit size tree parent author committer this is the commit before that and I'm not sure why 2fe65 90ecd Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5 app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5 commit size tree parent author committer this is the commit before that and I'm not sure why 2fe65 90ecd Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5 48e 77d a14 38d c4e 3d5 1d3 03e f46 23f 30e 67e 32a 5b1
  124. commit size ae668.. tree parent author committer my commit message

    goes here and it is really, really cool c4ec5 a149e Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5 commit size tree parent author committer this is the previous commit and I am very proud of it 2de54 38def Scott Scott commit size tree parent author committer this is the commit before that and I'm not sure why 2fe65 90ecd Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5 app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5 commit size tree parent author committer this is the commit before that and I'm not sure why 2fe65 90ecd Scott Scott app.yaml index.yaml main.py ./ c4e 03e 1d3 3d5 48e 77d a14 38d c4e 3d5 1d3 03e f46 23f 30e 67e 32a 5b1
  125. Repository 3d4 03e ae6 5b1 1d3 c36 f46 23f 6fe

    30e 67e 32a ffe 38d 5b1 1d3 254 a14 d23 2d3 48e 735 de3 c4e c4e 77d 3d5
  126. Repository 3d4 03e ae6 5b1 1d3 c36 f46 23f 6fe

    30e 67e 32a ffe 38d 5b1 1d3 254 a14 d23 2d3 48e 735 de3 c4e c4e 77d 3d5 git checkout branch
  127. Repository 3d4 03e ae6 5b1 1d3 c36 f46 23f 6fe

    30e 67e 32a ffe 38d 5b1 1d3 254 a14 d23 2d3 48e 735 de3 c4e c4e 77d 3d5 git checkout branch
  128. Working Directory Index Rakefile README simplegit.rb ./ lib/ ./Rakefile ./README

    ./lib/simplegit.rb ./ ./lib/ c36 3d4 03e 5b1 1d3 Repository 3d4 03e ae6 5b1 1d3 c36 f46 23f 6fe 30e 67e 32a ffe 38d 5b1 1d3 254 a14 d23 2d3 48e 735 de3 c4e c4e 77d 3d5
  129. Repository 3d4 03e ae6 5b1 1d3 c36 f46 23f 6fe

    30e 67e 32a ffe 38d 5b1 1d3 254 a14 d23 2d3 48e 735 de3 c4e c4e 77d 3d5 Working Directory Index Rakefile README simplegit.rb ./ lib/ ./Rakefile ./README ./lib/simplegit.rb ./ ./lib/ c36 3d4 03e 5b1 1d3
  130. Repository 3d4 03e ae6 5b1 1d3 c36 f46 23f 6fe

    30e 67e 32a ffe 38d 5b1 1d3 254 a14 d23 2d3 48e 735 de3 c4e c4e 77d 3d5 Working Directory Index Rakefile README simplegit.rb ./ lib/ ./Rakefile ./README ./lib/simplegit.rb ./ ./lib/ c36 3d4 03e 5b1 1d3
  131. Repository 3d4 03e ae6 5b1 1d3 c36 f46 23f 6fe

    30e 67e 32a ffe 38d 5b1 1d3 254 a14 d23 2d3 48e 735 de3 c4e c4e 77d 3d5 Working Directory Index Rakefile README simplegit.rb ./ lib/ ./Rakefile ./README ./lib/simplegit.rb ./ ./lib/ c36 3d4 03e 5b1 1d3
  132. Repository 3d4 03e ae6 5b1 1d3 c36 f46 23f 6fe

    30e 67e 32a ffe 38d 5b1 1d3 254 a14 d23 2d3 48e 735 de3 c4e c4e 77d 3d5 Working Directory Index Rakefile README simplegit.rb ./ lib/ ./Rakefile ./README ./lib/simplegit.rb ./ ./lib/ c36 3d4 03e 5b1 1d3 git add
  133. Repository 3d4 03e ae6 5b1 1d3 c36 f46 23f 6fe

    30e 67e 32a ffe 38d 5b1 1d3 254 a14 d23 2d3 48e 735 de3 c4e c4e 77d 3d5 Working Directory Index Rakefile README simplegit.rb ./ lib/ ./Rakefile ./README ./lib/simplegit.rb ./ ./lib/ c36 3d4 03e 5b1 1d3 git add 34f
  134. Repository 3d4 03e ae6 5b1 1d3 c36 f46 23f 6fe

    30e 67e 32a ffe 38d 5b1 1d3 254 a14 d23 2d3 48e 735 de3 c4e c4e 77d 3d5 Working Directory Index Rakefile README simplegit.rb ./ lib/ ./Rakefile ./README ./lib/simplegit.rb ./ ./lib/ c36 3d4 03e 5b1 1d3 git commit 34f a08 3da 34f ae9
  135. Repository 3d4 03e ae6 5b1 1d3 c36 f46 23f 6fe

    30e 67e 32a ffe 38d 5b1 1d3 254 a14 d23 2d3 48e 735 de3 c4e c4e 77d 3d5 Working Directory Index Rakefile README simplegit.rb ./ lib/ ./Rakefile ./README ./lib/simplegit.rb ./ ./lib/ c36 3d4 03e 5b1 1d3 34f a08 3da 34f ae9
  136. Repository 3d4 03e ae6 5b1 1d3 c36 f46 23f 6fe

    30e 67e 32a ffe 38d 5b1 1d3 254 a14 d23 2d3 48e 735 de3 c4e c4e 77d 3d5 Working Directory Index Rakefile README simplegit.rb ./ lib/ ./Rakefile ./README ./lib/simplegit.rb ./ ./lib/ c36 3d4 03e 5b1 1d3 34f a08 3da 34f ae9
  137. Branching and Merging

  138. branches

  139. branches lightweight, movable pointers to a commit C1 branch

  140. branching

  141. git branch

  142. git checkout

  143. Commit 98ca9 master HEAD c3d README.txt f13 hello.c This is

    Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; }
  144. Commit 98ca9 master HEAD c3d README.txt f13 hello.c This is

    Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; }
  145. Commit 98ca9 master HEAD c3d README.txt f13 hello.c This is

    Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; }
  146. Commit 98ca9 master HEAD c3d README.txt f13 hello.c This is

    Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; }
  147. Commit 98ca9 master HEAD c3d README.txt f13 hello.c This is

    Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } 98ca9 i18n master HEAD git branch i18n
  148. Commit 98ca9 master HEAD c3d README.txt f13 hello.c This is

    Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } 98ca9 i18n master HEAD git branch i18n
  149. Commit 98ca9 master HEAD c3d README.txt f13 hello.c This is

    Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } 98ca9 i18n master HEAD git branch
  150. $ git branch * master i18n Commit 98ca9 master HEAD

    c3d README.txt f13 hello.c This is Scott's Hello project. Licensed under GPL. #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } 98ca9 i18n master HEAD git branch
  151. $ find .git/refs .git/refs .git/refs/heads .git/refs/heads/default .git/refs/heads/experiment

  152. $ find .git/refs .git/refs .git/refs/heads .git/refs/heads/master .git/refs/heads/i18n

  153. $ find .git/refs .git/refs .git/refs/heads .git/refs/heads/master .git/refs/heads/i18n $ cat .git/refs/heads/master

    98ca909dc9e38af91565082bdf93577ff555489e
  154. 98ca9 a23fe i18n master HEAD HEAD

  155. 98ca9 a23fe i18n master HEAD HEAD git checkout i18n

  156. 98ca9 a23fe i18n master HEAD HEAD

  157. 98ca9 a23fe i18n master HEAD HEAD git commit

  158. 98ca9 a23fe i18n master HEAD HEAD git commit

  159. git commit 98ca9 a23fe master i18n HEAD

  160. 98ca9 a23fe master i18n HEAD

  161. git commit 98ca9 a23fe master i18n HEAD

  162. git commit 98ca9 a23fe 3acd1 master i18n HEAD

  163. 98ca9 a23fe 3acd1 master i18n HEAD

  164. 98ca9 a23fe 3acd1 master i18n HEAD git checkout -b iss53

    master
  165. 98ca9 a23fe iss53 3acd1 master HEAD i18n git checkout -b

    iss53 master
  166. 98ca9 a23fe iss53 3acd1 master HEAD i18n git checkout master;

    git checkout -b iss53
  167. 98ca9 a23fe iss53 3acd1 master HEAD i18n git checkout master;

    git branch iss53; git checkout iss53
  168. 98ca9 a23fe iss53 3acd1 master HEAD i18n git checkout -b

    iss53 master
  169. 98ca9 a23fe iss53 3acd1 master HEAD i18n

  170. git commit 98ca9 a23fe iss53 34ac2 3acd1 master HEAD i18n

  171. 98ca9 a23fe iss53 34ac2 3acd1 master HEAD i18n

  172. git commit 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD

    i18n
  173. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n

  174. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d

    README.txt f13 hello.c c3d README.txt f13 hello.c 43d issue.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt f13 hello.c d3a i18n.c c3d README.txt 9ec hello.c 3a6 i18n.c
  175. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d

    README.txt f13 hello.c c3d README.txt f13 hello.c 43d issue.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt f13 hello.c d3a i18n.c c3d README.txt 9ec hello.c 3a6 i18n.c
  176. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d

    README.txt f13 hello.c c3d README.txt f13 hello.c 43d issue.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt f13 hello.c d3a i18n.c c3d README.txt 9ec hello.c 3a6 i18n.c
  177. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d

    README.txt f13 hello.c c3d README.txt f13 hello.c 43d issue.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt f13 hello.c d3a i18n.c c3d README.txt 9ec hello.c 3a6 i18n.c
  178. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d

    README.txt f13 hello.c c3d README.txt f13 hello.c 43d issue.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt f13 hello.c d3a i18n.c c3d README.txt 9ec hello.c 3a6 i18n.c
  179. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d

    README.txt f13 hello.c c3d README.txt f13 hello.c 43d issue.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt f13 hello.c d3a i18n.c c3d README.txt 9ec hello.c 3a6 i18n.c
  180. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n

  181. merging

  182. git merge

  183. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n

  184. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n git

    checkout master
  185. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n

  186. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n git

    merge iss53
  187. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n git

    merge iss53 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n
  188. fast-forward merge

  189. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n git

    merge iss53 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n
  190. git merge iss53 98ca9 a23fe f30ab iss53 34ac2 3acd1 master

    HEAD i18n
  191. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n

  192. git merge i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master

    HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n
  193. non fast-forward merge

  194. git merge i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master

    HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n
  195. git merge i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master

    HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n
  196. git merge i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master

    HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d README.txt f13 hello.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt 9ec hello.c 3a6 i18n.c
  197. git merge i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master

    HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d README.txt f13 hello.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt 9ec hello.c 3a6 i18n.c
  198. git merge i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master

    HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d README.txt f13 hello.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt 9ec hello.c 3a6 i18n.c
  199. git merge i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master

    HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d README.txt f13 hello.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt 9ec hello.c 3a6 i18n.c
  200. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d

    README.txt f13 hello.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt 9ec hello.c 3a6 i18n.c 95c41 c3d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c git merge i18n
  201. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d

    README.txt f13 hello.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt 9ec hello.c 3a6 i18n.c 95c41 c3d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c git merge i18n
  202. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d

    README.txt f13 hello.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt 9ec hello.c 3a6 i18n.c 95c41 c3d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c
  203. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d

    README.txt f13 hello.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt 9ec hello.c 3a6 i18n.c 95c41 c3d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c
  204. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d

    README.txt f13 hello.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt 9ec hello.c 3a6 i18n.c 95c41 c3d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c
  205. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d

    README.txt f13 hello.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt 9ec hello.c 3a6 i18n.c 95c41 c3d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c
  206. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d

    README.txt f13 hello.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt 9ec hello.c 3a6 i18n.c 95c41 c3d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c
  207. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n c3d

    README.txt f13 hello.c c3d README.txt f13 hello.c 5ff issue.c c3d README.txt 9ec hello.c 3a6 i18n.c 95c41 c3d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c
  208. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 95c41

  209. merge conflicts

  210. $ git merge iss53 Auto-merging index.html CONFLICT (content): Merge conflict

    in index.html Automatic merge failed; fix conflicts and then commit the result.
  211. $ git merge iss53 Auto-merging index.html CONFLICT (content): Merge conflict

    in index.html Automatic merge failed; fix conflicts and then commit the result.
  212. $ git merge iss53 Auto-merging index.html CONFLICT (content): Merge conflict

    in index.html Automatic merge failed; fix conflicts and then commit the result. $ git status index.html: needs merge # On branch master # Changed but not updated: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # #! unmerged: index.html #
  213. <<<<<<< HEAD:index.html <div id="footer">contact : email.support@github.com</div> ======= <div id="footer"> please

    contact us at support@github.com </div> >>>>>>> iss53:index.html
  214. $ git add [file]

  215. $ git status # On branch master # Changes to

    be committed: # (use "git reset HEAD <file>..." to unstage # #! modified: index.html #
  216. git mergetool

  217. $ git mergetool merge tool candidates: kdiff3 tkdiff xxdiff meld

    gvimdiff opendiff emerge vimdiff Merging the files: index.html Normal merge conflict for 'index.html': {local}: modified {remote}: modified Hit return to start merge resolution tool (opendiff):
  218. $ git commit

  219. reintegration merges

  220. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 95c41

  221. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 95c41

    git checkout i18n
  222. git commit 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD

    i18n 95c41 4fa23
  223. git checkout master 98ca9 a23fe f30ab iss53 34ac2 3acd1 master

    HEAD i18n 95c41 4fa23
  224. git merge i18n 98ca9 a23fe f30ab iss53 34ac2 3acd1 master

    HEAD i18n 95c41 4fa23
  225. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 95c41

    4fa23 git merge i18n
  226. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 95c41

    4fa23 c3d README.txt 9ec hello.c 3a6 i18n.c c3d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c 45d README.txt 9ec hello.c 3a6 i18n.c git merge i18n
  227. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 95c41

    4fa23 c3d README.txt 9ec hello.c 3a6 i18n.c c3d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c 45d README.txt 9ec hello.c 3a6 i18n.c git merge i18n
  228. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 95c41

    4fa23 c3d README.txt 9ec hello.c 3a6 i18n.c c3d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c 45d README.txt 9ec hello.c 3a6 i18n.c git merge i18n
  229. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 95c41

    4fa23 c3d README.txt 9ec hello.c 3a6 i18n.c c3d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c 45d README.txt 9ec hello.c 3a6 i18n.c git merge i18n
  230. 67a2d 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n

    95c41 4fa23 c3d README.txt 9ec hello.c 3a6 i18n.c c3d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c 45d README.txt 9ec hello.c 3a6 i18n.c 45d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c git merge i18n
  231. 67a2d 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n

    95c41 4fa23 c3d README.txt 9ec hello.c 3a6 i18n.c c3d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c 45d README.txt 9ec hello.c 3a6 i18n.c 45d README.txt 9ec hello.c 5ff issue.c 3a6 i18n.c git merge i18n
  232. git merge i18n 67a2d 98ca9 a23fe f30ab iss53 34ac2 3acd1

    master HEAD i18n 95c41 4fa23
  233. Why is this cool?

  234. try out an idea

  235. isolate work units

  236. long running topics

  237. long running topics continuous merging

  238. Deleting Branches

  239. git branch -d branch

  240. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 95c41

    4fa23
  241. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 95c41

    4fa23
  242. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 95c41

    4fa23
  243. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 95c41

    4fa23
  244. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 95c41

    4fa23
  245. git branch -D branch

  246. Collaborating

  247. remotes

  248. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master
  249. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master git clone nick@git.ourcompany.com:project.git
  250. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master git clone nick@git.ourcompany.com:project.git
  251. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master git clone nick@git.ourcompany.com:project.git
  252. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master git clone scott@git.ourcompany.com:project.git
  253. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master
  254. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 git commit
  255. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 git commit
  256. git push

  257. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 git push origin master
  258. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 git push origin master
  259. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 git push origin master
  260. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 git push origin master i want to push some new stuff
  261. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 git push origin master i’ve got master at 31b8
  262. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 git push origin master cool, i see that in the history of what i want to push
  263. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 git push origin master here’s the difference dee9 9e05
  264. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 git push origin master dee9 9e05
  265. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 git push origin master dee9 9e05
  266. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 ok, everything looks good.
  267. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 origin/master
  268. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 git push origin master origin/master
  269. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 git push origin master i want to push some new stuff origin/master
  270. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 git push origin master i’ve got master at 9e05 origin/master
  271. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 git push origin master not familiar with that origin/master
  272. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 git push origin master crap. origin/master
  273. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 git push origin master it would be mean of me to overwrite scott’s changes... origin/master
  274. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 origin/master
  275. git fetch

  276. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 origin/master
  277. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 git fetch origin/master
  278. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 git fetch origin/master
  279. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 origin/master
  280. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 git merge origin/master origin/master
  281. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 git push origin master origin/master
  282. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 git push origin master ok, let’s try that again. i want to push some stuff origin/master
  283. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 git push origin master i’ve got master at 9e05 origin/master
  284. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 git push origin master freakin sweet, i can see that in my history origin/master
  285. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 git push origin master let’s do this e1cf 8091 a967 origin/master
  286. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 git push origin master e1cf 8091 a967 origin/master
  287. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 git push origin master e1cf 8091 a967 origin/master
  288. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 origin/master ok, we’re good.
  289. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091
  290. pushing other branches

  291. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091
  292. git checkout -b iss53 31b8; git commit; git commit git.ourcompany.com

    Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c 31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 4ca2 74ba iss53
  293. git push origin iss53 git.ourcompany.com Nick's Computer origin/master f42c 31b8

    Scott's Computer origin/master f42c 31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 4ca2 74ba iss53
  294. git push origin iss53 git.ourcompany.com Nick's Computer origin/master f42c 31b8

    Scott's Computer origin/master f42c 31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 4ca2 74ba iss53 i want to push some stuff
  295. git push origin iss53 git.ourcompany.com Nick's Computer origin/master f42c 31b8

    Scott's Computer origin/master f42c 31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 4ca2 74ba iss53 i’ve got master at a967
  296. git push origin iss53 git.ourcompany.com Nick's Computer origin/master f42c 31b8

    Scott's Computer origin/master f42c 31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 4ca2 74ba iss53 i don’t care
  297. git push origin iss53 git.ourcompany.com Nick's Computer origin/master f42c 31b8

    Scott's Computer origin/master f42c 31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 4ca2 74ba iss53 i’m trying to push iss53
  298. git push origin iss53 git.ourcompany.com Nick's Computer origin/master f42c 31b8

    Scott's Computer origin/master f42c 31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 4ca2 74ba iss53 here you go
  299. git push origin iss53 git.ourcompany.com Nick's Computer origin/master f42c 31b8

    Scott's Computer origin/master f42c 31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 4ca2 74ba iss53 4ca2 74ba
  300. git push origin iss53 git.ourcompany.com Nick's Computer origin/master f42c 31b8

    Scott's Computer origin/master f42c 31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 4ca2 74ba iss53 4ca2 74ba
  301. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 4ca2 74ba iss53 4ca2 74ba iss53
  302. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 4ca2 74ba iss53 4ca2 74ba iss53 git fetch 4ca2 74ba
  303. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 4ca2 74ba iss53 4ca2 74ba iss53 git fetch 4ca2 74ba
  304. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 4ca2 74ba iss53 4ca2 74ba iss53 git fetch 4ca2 74ba
  305. git.ourcompany.com Nick's Computer origin/master f42c 31b8 Scott's Computer origin/master f42c

    31b8 f42c 31b8 master master master dee9 9e05 e1cf 8091 dee9 9e05 dee9 9e05 a967 a967 e1cf 8091 4ca2 74ba iss53 4ca2 74ba iss53 4ca2 74ba origin/iss53
  306. git pull

  307. pull == fetch + merge

  308. multiple remotes

  309. developer nick developer jessica my repo 5ec e4a 4a7 ce0

    master
  310. developer nick developer jessica my repo 5ec e4a 4a7 ce0

    master commit
  311. developer nick developer jessica my repo 5ec e4a 4a7 ce0

    master tree
  312. developer nick developer jessica my repo 5ec e4a 4a7 ce0

    master blobs
  313. schacon/ project developer nick developer jessica "public" my repo 5ec

    e4a 4a7 ce0 master git push public public/master 5ec e4a 4a7 ce0
  314. schacon/ project developer jessica "public" my repo 5ec e4a 4a7

    ce0 master git clone (url) public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick
  315. schacon/ project developer jessica "public" my repo 5ec e4a 4a7

    ce0 master git commit public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f
  316. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f git clone (url) 5ec e4a 4a7 ce0 developer jessica
  317. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git commit
  318. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git push 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09
  319. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git remote add nick git://github.com/nickh/project.git 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" git remote add nick git://github.com/nickh/project.git
  320. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git remote add nick git://github.com/nickh/project.git 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" “nick” git remote add nick git://github.com/nickh/project.git
  321. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git remote add jess git://github.com/jessica/project.git 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" git remote add jess git://github.com/jessica/project.git
  322. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git remote add jess git://github.com/jessica/project.git 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" git remote add jess git://github.com/jessica/project.git “jess”
  323. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git remote add jess git://github.com/jessica/project.git 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" schacon/ project "public" my repo 5ec e4a 4a7 ce0 master public/master 5ec e4a 4a7 ce0 git fetch nick 5ec c12 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "jess" c12 ec5 24f nick/master git fetch nick
  324. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git remote add jess git://github.com/jessica/project.git 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" schacon/ project "public" my repo 5ec e4a 4a7 ce0 master public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git fetch nick 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" c12 ec5 24f nick/master git fetch nick
  325. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git fetch nick 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" c12 ec5 24f nick/master
  326. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git remote add jess git://github.com/jessica/project.git 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" git fetch jess schacon/ project "public" my repo 5ec e4a 4a7 ce0 master public/ e4a git fetch jess e4a nickh/ project c12 ec5 24f jessic proje "nick" "jess ec5 24f nick/ma 2fb df7 4ea a09 jess/ma c12 schacon/ project "public" my repo 5ec e4a 4a7 ce0 master public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git fetch nick 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" c12 ec5 24f nick/master
  327. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git remote add jess git://github.com/jessica/project.git 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" git fetch jess schacon/ project "public" my repo 5ec e4a 4a7 ce0 master public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git fetch jess 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" ec5 24f nick/master 2fb df7 4ea a09 jess/master c12 schacon/ project "public" my repo 5ec e4a 4a7 ce0 master public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git fetch nick 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" c12 ec5 24f nick/master
  328. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git fetch jess 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" ec5 24f nick/master 2fb df7 4ea a09 jess/master c12
  329. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" ec5 24f nick/master 2fb df7 4ea a09 jess/master c12 b3b c63 git merge nick jess git merge nick/master jess/master
  330. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 git push public 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" ec5 24f nick/master 2fb df7 4ea a09 jess/master c12 b3b c63 e4a ec5 24f 2fb df7 4ea a09 c12 b3b c63
  331. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" ec5 24f nick/master 2fb df7 4ea a09 jess/master c12 b3b c63 e4a ec5 24f 2fb df7 4ea a09 c12 b3b c63
  332. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" ec5 24f nick/master 2fb df7 4ea a09 jess/master c12 b3b c63 e4a ec5 24f 2fb df7 4ea a09 c12 b3b c63
  333. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" ec5 24f nick/master 2fb df7 4ea a09 jess/master c12 b3b c63 e4a ec5 24f 2fb df7 4ea a09 c12 b3b c63
  334. schacon/ project "public" my repo 5ec e4a 4a7 ce0 master

    public/master 5ec e4a 4a7 ce0 5ec e4a 4a7 ce0 developer nick c12 ec5 24f 5ec e4a 4a7 ce0 developer jessica 2fb df7 4ea a09 5ec e4a 4a7 ce0 nickh/ project c12 ec5 24f 5ec e4a 4a7 ce0 jessica/ project 2fb df7 4ea a09 "nick" "jess" ec5 24f nick/master 2fb df7 4ea a09 jess/master c12 b3b c63 e4a ec5 24f 2fb df7 4ea a09 c12 b3b c63
  335. Looking Around

  336. git log

  337. walking your commit history

  338. 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD i18n 95c41

    4fa23 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758 faf4e
  339. git log 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD

    i18n 95c41 4fa23 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758 faf4e
  340. git log 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD

    i18n 95c41 4fa23 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758 faf4e
  341. git log 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD

    i18n 95c41 4fa23 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758 faf4e
  342. git log 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD

    i18n 95c41 4fa23 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758 faf4e
  343. git log 98ca9 a23fe f30ab iss53 34ac2 3acd1 master HEAD

    i18n 95c41 4fa23 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758 faf4e
  344. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log commit 16758d868a4e97c9d4281940438b7ea1680cfc0a Merge: 5eea9cf 4b2a7ae Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:29:23 2010 -0700 Merge branch 'i18n' commit 4b2a7ae83bcbb213c7d88c6fada3700f77d43a2e Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:45 2010 -0700 fix spacing issues in both c files commit 1d6389c30cf766daf3dcfe7cc1e3b7fdbfc5cc48 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:18 2010 -0700 added i18n file commit 5eea9cf450d5b200d7f134e4024d1c062cb5b341 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:35 2010 -0700 documented issue file commit 4db9f5c2b4c3935ff787f0fa85e9265c3e306fca Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:10 2010 -0700 added issue file
  345. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log commit 16758d868a4e97c9d4281940438b7ea1680cfc0a Merge: 5eea9cf 4b2a7ae Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:29:23 2010 -0700 Merge branch 'i18n' commit 4b2a7ae83bcbb213c7d88c6fada3700f77d43a2e Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:45 2010 -0700 fix spacing issues in both c files commit 1d6389c30cf766daf3dcfe7cc1e3b7fdbfc5cc48 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:18 2010 -0700 added i18n file commit 5eea9cf450d5b200d7f134e4024d1c062cb5b341 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:35 2010 -0700 documented issue file commit 4db9f5c2b4c3935ff787f0fa85e9265c3e306fca Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:10 2010 -0700 added issue file
  346. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log commit 16758d868a4e97c9d4281940438b7ea1680cfc0a Merge: 5eea9cf 4b2a7ae Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:29:23 2010 -0700 Merge branch 'i18n' commit 4b2a7ae83bcbb213c7d88c6fada3700f77d43a2e Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:45 2010 -0700 fix spacing issues in both c files commit 1d6389c30cf766daf3dcfe7cc1e3b7fdbfc5cc48 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:18 2010 -0700 added i18n file commit 5eea9cf450d5b200d7f134e4024d1c062cb5b341 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:35 2010 -0700 documented issue file commit 4db9f5c2b4c3935ff787f0fa85e9265c3e306fca Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:10 2010 -0700 added issue file
  347. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log commit 16758d868a4e97c9d4281940438b7ea1680cfc0a Merge: 5eea9cf 4b2a7ae Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:29:23 2010 -0700 Merge branch 'i18n' commit 4b2a7ae83bcbb213c7d88c6fada3700f77d43a2e Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:45 2010 -0700 fix spacing issues in both c files commit 1d6389c30cf766daf3dcfe7cc1e3b7fdbfc5cc48 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:18 2010 -0700 added i18n file commit 5eea9cf450d5b200d7f134e4024d1c062cb5b341 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:35 2010 -0700 documented issue file commit 4db9f5c2b4c3935ff787f0fa85e9265c3e306fca Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:10 2010 -0700 added issue file
  348. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log commit 16758d868a4e97c9d4281940438b7ea1680cfc0a Merge: 5eea9cf 4b2a7ae Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:29:23 2010 -0700 Merge branch 'i18n' commit 4b2a7ae83bcbb213c7d88c6fada3700f77d43a2e Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:45 2010 -0700 fix spacing issues in both c files commit 1d6389c30cf766daf3dcfe7cc1e3b7fdbfc5cc48 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:18 2010 -0700 added i18n file commit 5eea9cf450d5b200d7f134e4024d1c062cb5b341 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:35 2010 -0700 documented issue file commit 4db9f5c2b4c3935ff787f0fa85e9265c3e306fca Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:10 2010 -0700 added issue file
  349. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log commit 16758d868a4e97c9d4281940438b7ea1680cfc0a Merge: 5eea9cf 4b2a7ae Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:29:23 2010 -0700 Merge branch 'i18n' commit 4b2a7ae83bcbb213c7d88c6fada3700f77d43a2e Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:45 2010 -0700 fix spacing issues in both c files commit 1d6389c30cf766daf3dcfe7cc1e3b7fdbfc5cc48 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:18 2010 -0700 added i18n file commit 5eea9cf450d5b200d7f134e4024d1c062cb5b341 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:35 2010 -0700 documented issue file commit 4db9f5c2b4c3935ff787f0fa85e9265c3e306fca Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:10 2010 -0700 added issue file
  350. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log commit 16758d868a4e97c9d4281940438b7ea1680cfc0a Merge: 5eea9cf 4b2a7ae Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:29:23 2010 -0700 Merge branch 'i18n' commit 4b2a7ae83bcbb213c7d88c6fada3700f77d43a2e Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:45 2010 -0700 fix spacing issues in both c files commit 1d6389c30cf766daf3dcfe7cc1e3b7fdbfc5cc48 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:18 2010 -0700 added i18n file commit 5eea9cf450d5b200d7f134e4024d1c062cb5b341 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:35 2010 -0700 documented issue file commit 4db9f5c2b4c3935ff787f0fa85e9265c3e306fca Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:10 2010 -0700 added issue file
  351. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log commit 16758d868a4e97c9d4281940438b7ea1680cfc0a Merge: 5eea9cf 4b2a7ae Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:29:23 2010 -0700 Merge branch 'i18n' commit 4b2a7ae83bcbb213c7d88c6fada3700f77d43a2e Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:45 2010 -0700 fix spacing issues in both c files commit 1d6389c30cf766daf3dcfe7cc1e3b7fdbfc5cc48 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:18 2010 -0700 added i18n file commit 5eea9cf450d5b200d7f134e4024d1c062cb5b341 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:35 2010 -0700 documented issue file commit 4db9f5c2b4c3935ff787f0fa85e9265c3e306fca Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:10 2010 -0700 added issue file
  352. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log commit 16758d868a4e97c9d4281940438b7ea1680cfc0a Merge: 5eea9cf 4b2a7ae Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:29:23 2010 -0700 Merge branch 'i18n' commit 4b2a7ae83bcbb213c7d88c6fada3700f77d43a2e Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:45 2010 -0700 fix spacing issues in both c files commit 1d6389c30cf766daf3dcfe7cc1e3b7fdbfc5cc48 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:18 2010 -0700 added i18n file commit 5eea9cf450d5b200d7f134e4024d1c062cb5b341 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:35 2010 -0700 documented issue file commit 4db9f5c2b4c3935ff787f0fa85e9265c3e306fca Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:10 2010 -0700 added issue file
  353. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log commit 16758d868a4e97c9d4281940438b7ea1680cfc0a Merge: 5eea9cf 4b2a7ae Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:29:23 2010 -0700 Merge branch 'i18n' commit 4b2a7ae83bcbb213c7d88c6fada3700f77d43a2e Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:45 2010 -0700 fix spacing issues in both c files commit 1d6389c30cf766daf3dcfe7cc1e3b7fdbfc5cc48 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:18 2010 -0700 added i18n file commit 5eea9cf450d5b200d7f134e4024d1c062cb5b341 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:35 2010 -0700 documented issue file commit 4db9f5c2b4c3935ff787f0fa85e9265c3e306fca Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:10 2010 -0700 added issue file
  354. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log commit 16758d868a4e97c9d4281940438b7ea1680cfc0a Merge: 5eea9cf 4b2a7ae Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:29:23 2010 -0700 Merge branch 'i18n' commit 4b2a7ae83bcbb213c7d88c6fada3700f77d43a2e Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:45 2010 -0700 fix spacing issues in both c files commit 1d6389c30cf766daf3dcfe7cc1e3b7fdbfc5cc48 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:18 2010 -0700 added i18n file commit 5eea9cf450d5b200d7f134e4024d1c062cb5b341 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:35 2010 -0700 documented issue file commit 4db9f5c2b4c3935ff787f0fa85e9265c3e306fca Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:10 2010 -0700 added issue file
  355. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log commit 16758d868a4e97c9d4281940438b7ea1680cfc0a Merge: 5eea9cf 4b2a7ae Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:29:23 2010 -0700 Merge branch 'i18n' commit 4b2a7ae83bcbb213c7d88c6fada3700f77d43a2e Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:45 2010 -0700 fix spacing issues in both c files commit 1d6389c30cf766daf3dcfe7cc1e3b7fdbfc5cc48 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:18 2010 -0700 added i18n file commit 5eea9cf450d5b200d7f134e4024d1c062cb5b341 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:35 2010 -0700 documented issue file commit 4db9f5c2b4c3935ff787f0fa85e9265c3e306fca Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:10 2010 -0700 added issue file
  356. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log commit 16758d868a4e97c9d4281940438b7ea1680cfc0a Merge: 5eea9cf 4b2a7ae Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:29:23 2010 -0700 Merge branch 'i18n' commit 4b2a7ae83bcbb213c7d88c6fada3700f77d43a2e Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:45 2010 -0700 fix spacing issues in both c files commit 1d6389c30cf766daf3dcfe7cc1e3b7fdbfc5cc48 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:28:18 2010 -0700 added i18n file commit 5eea9cf450d5b200d7f134e4024d1c062cb5b341 Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:35 2010 -0700 documented issue file commit 4db9f5c2b4c3935ff787f0fa85e9265c3e306fca Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:27:10 2010 -0700 added issue file
  357. log formatting

  358. git log --oneline

  359. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e
  360. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log --oneline 16758d8 Merge branch 'i18n' 4b2a7ae fix spacing issues in both c files 1d6389c added i18n file 5eea9cf documented issue file 4db9f5c added issue file 79c2add initial project import
  361. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log --oneline iss53 5eea9cf documented issue file 4db9f5c added issue file 79c2add initial project import
  362. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log --oneline i18n faf4ece update README to be more specific 4b2a7ae fix spacing issues in both c files 1d6389c added i18n file 79c2add initial project import
  363. git log --graph

  364. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log --oneline 16758d8 Merge branch 'i18n' 4b2a7ae fix spacing issues in both c files 1d6389c added i18n file 5eea9cf documented issue file 4db9f5c added issue file 79c2add initial project import
  365. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log --oneline --graph * 16758d8 Merge branch 'i18n' |\ | * 4b2a7ae fix spacing issues in both c files | * 1d6389c added i18n file * | 5eea9cf documented issue file * | 4db9f5c added issue file |/ * 79c2add initial project import
  366. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log --oneline --graph * 16758d8 Merge branch 'i18n' |\ | * 4b2a7ae fix spacing issues in both c files | * 1d6389c added i18n file * | 5eea9cf documented issue file * | 4db9f5c added issue file |/ * 79c2add initial project import
  367. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log --oneline --graph * 16758d8 Merge branch 'i18n' |\ | * 4b2a7ae fix spacing issues in both c files | * 1d6389c added i18n file * | 5eea9cf documented issue file * | 4db9f5c added issue file |/ * 79c2add initial project import
  368. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log --oneline --graph * 16758d8 Merge branch 'i18n' |\ | * 4b2a7ae fix spacing issues in both c files | * 1d6389c added i18n file * | 5eea9cf documented issue file * | 4db9f5c added issue file |/ * 79c2add initial project import
  369. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log --oneline --graph * 16758d8 Merge branch 'i18n' |\ | * 4b2a7ae fix spacing issues in both c files | * 1d6389c added i18n file * | 5eea9cf documented issue file * | 4db9f5c added issue file |/ * 79c2add initial project import
  370. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log --oneline --graph * 16758d8 Merge branch 'i18n' |\ | * 4b2a7ae fix spacing issues in both c files | * 1d6389c added i18n file * | 5eea9cf documented issue file * | 4db9f5c added issue file |/ * 79c2add initial project import
  371. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log --oneline --graph * 16758d8 Merge branch 'i18n' |\ | * 4b2a7ae fix spacing issues in both c files | * 1d6389c added i18n file * | 5eea9cf documented issue file * | 4db9f5c added issue file |/ * 79c2add initial project import
  372. git log --all git log --decorate

  373. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log --oneline --graph --all --decorate * faf4ece (i18n) update README to be more specific | * 16758d8 (HEAD, master) Merge branch 'i18n' | |\ | |/ |/| * | 4b2a7ae fix spacing issues in both c files * | 1d6389c added i18n file | * 5eea9cf (iss53) documented issue file | * 4db9f5c added issue file |/ * 79c2add initial project import
  374. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log --oneline --graph --all --decorate * faf4ece (i18n) update README to be more specific | * 16758d8 (HEAD, master) Merge branch 'i18n' | |\ | |/ |/| * | 4b2a7ae fix spacing issues in both c files * | 1d6389c added i18n file | * 5eea9cf (iss53) documented issue file | * 4db9f5c added issue file |/ * 79c2add initial project import
  375. git config --global alias.lol “log --oneline --graph --decorate”

  376. git config --global alias.lol “log --oneline --graph --decorate” git lol

  377. git config --global alias.lol “log --oneline --graph --decorate” git lol

  378. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git lol --all * faf4ece (i18n) update README to be more specific | * 16758d8 (HEAD, master) Merge branch 'i18n' | |\ | |/ |/| * | 4b2a7ae fix spacing issues in both c files * | 1d6389c added i18n file | * 5eea9cf (iss53) documented issue file | * 4db9f5c added issue file |/ * 79c2add initial project import
  379. log subsets

  380. git log branchA ^branchB

  381. git log branchA ^branchB show me commits reachable by branchA

    that are not reachable by branchB
  382. git log branchA ^branchB

  383. git log branchA ^branchB not reachable

  384. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e
  385. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e iss53 ^i18n
  386. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e iss53 ^i18n
  387. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e iss53 ^i18n
  388. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e iss53 ^i18n
  389. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e iss53 ^i18n
  390. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e iss53 ^i18n
  391. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git lol iss53 ^i18n * 5eea9cf (iss53) documented issue file * 4db9f5c added issue file
  392. what work is in our i18n branch that is not

    merged into master yet?
  393. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e i18n ^master
  394. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e i18n ^master
  395. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e i18n ^master
  396. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e i18n ^master
  397. 79c2a 1d638 5eea9 iss53 4db9f 4b2a7 master HEAD i18n 16758

    faf4e $ git log i18n ^master commit faf4ecee82715967b07ff98e88796a311c8761fe Author: Scott Chacon <schacon@gmail.com> Date: Wed Jul 28 16:30:00 2010 -0700 update README to be more specific $
  398. quiz

  399. git log origin/master ^master

  400. git log master ^origin/master

  401. Review

  402. Review git init

  403. Review git init git clone

  404. Review git init git clone git add

  405. Review git init git clone git add git status

  406. Review git init git clone git add git status git

    commit
  407. Review git init git clone git add git status git

    commit git branch
  408. Review git init git clone git add git status git

    commit git branch git checkout
  409. Review git init git clone git add git status git

    commit git branch git checkout git merge
  410. Review git init git clone git add git status git

    commit git branch git checkout git merge git push
  411. Review git init git clone git add git status git

    commit git branch git checkout git merge git push git fetch
  412. Review git init git clone git add git status git

    commit git branch git checkout git merge git push git fetch git pull
  413. Review git init git clone git add git status git

    commit git branch git checkout git merge git push git fetch git pull git log
  414. Review git init git clone git add git status git

    commit git branch git checkout git merge git push git fetch git pull git log 12
  415. Resources git-scm.com gitref.org progit.com schacon@gmail.com