├── balsamiq ├── 02fig-source.bmpr ├── 03fig-source.bmpr ├── 05fig-source.bmpr ├── 06fig-source.bmpr ├── 09fig-source.bmpr ├── 11fig-source.bmpr ├── merge-types.png ├── workflow-diagrams.png └── workflow-diagrams_2.png ├── flowcharts ├── rebase-or-merge.bmpr ├── rebase-or-merge.png ├── workflow-undoing-merge.png └── workflow-undoing-changes.png ├── book-svg ├── convert.sh ├── 05fig04-create-branch.svg ├── 09fig02-blame.svg ├── 09fig01-sample-history.svg ├── 02fig01-centralized.svg ├── 03fig13-rebasing.svg ├── 03fig03-integration-branch.svg ├── 03fig02-reviewer-branches.svg ├── 06fig01-repo-location.svg ├── 03fig09-gitflow-release-branch.svg ├── 03fig15-merge-no-ff.svg ├── 11fig22-shared-access.svg ├── 03fig04-github-flow.svg ├── 06fig08-unmerge-shared.svg ├── 06fig02-activity01-answer01.svg ├── 06fig05-detached-head.svg └── 03fig01-single-branch.svg ├── README.md ├── animation ├── rebasing.svg └── rebasing-update-branch.svg └── templates └── oreilly-template.svg /balsamiq/02fig-source.bmpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitforteams/diagrams/HEAD/balsamiq/02fig-source.bmpr -------------------------------------------------------------------------------- /balsamiq/03fig-source.bmpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitforteams/diagrams/HEAD/balsamiq/03fig-source.bmpr -------------------------------------------------------------------------------- /balsamiq/05fig-source.bmpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitforteams/diagrams/HEAD/balsamiq/05fig-source.bmpr -------------------------------------------------------------------------------- /balsamiq/06fig-source.bmpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitforteams/diagrams/HEAD/balsamiq/06fig-source.bmpr -------------------------------------------------------------------------------- /balsamiq/09fig-source.bmpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitforteams/diagrams/HEAD/balsamiq/09fig-source.bmpr -------------------------------------------------------------------------------- /balsamiq/11fig-source.bmpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitforteams/diagrams/HEAD/balsamiq/11fig-source.bmpr -------------------------------------------------------------------------------- /balsamiq/merge-types.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitforteams/diagrams/HEAD/balsamiq/merge-types.png -------------------------------------------------------------------------------- /balsamiq/workflow-diagrams.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitforteams/diagrams/HEAD/balsamiq/workflow-diagrams.png -------------------------------------------------------------------------------- /flowcharts/rebase-or-merge.bmpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitforteams/diagrams/HEAD/flowcharts/rebase-or-merge.bmpr -------------------------------------------------------------------------------- /flowcharts/rebase-or-merge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitforteams/diagrams/HEAD/flowcharts/rebase-or-merge.png -------------------------------------------------------------------------------- /balsamiq/workflow-diagrams_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitforteams/diagrams/HEAD/balsamiq/workflow-diagrams_2.png -------------------------------------------------------------------------------- /flowcharts/workflow-undoing-merge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitforteams/diagrams/HEAD/flowcharts/workflow-undoing-merge.png -------------------------------------------------------------------------------- /flowcharts/workflow-undoing-changes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gitforteams/diagrams/HEAD/flowcharts/workflow-undoing-changes.png -------------------------------------------------------------------------------- /book-svg/convert.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #FILES=/Users/emmajane/Git/1234000002182/images/diagrams-source/*.svg 3 | FILES=*.svg 4 | for f in $FILES 5 | do 6 | echo "Processing $f ..." 7 | # take action on each file. $f store current file name 8 | /Applications/Inkscape.app/Contents/Resources/bin/inkscape -D --export-width=1024 -y 1.0 --export-png rendered/$f.png $f 9 | echo "Renaming file $f.png ..." 10 | mv "rendered/$f.png" "rendered-png/gft_${f/.svg/}.png" 11 | 12 | /Applications/Inkscape.app/Contents/Resources/bin/inkscape -y 1.0 --export-pdf rendered/$f.pdf $f 13 | echo "Renaming file $f.pdf ..." 14 | mv "rendered/$f.pdf" "rendered-pdf/gft_${f/.svg/}.pdf" 15 | done 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Git for Teams - Diagrams 2 | 3 | This repository contains the source files for the diagrams I have used in my books, workshops, and sessions on Git. You are welcome to use these diagrams in your own materials, and build on them so long as you provide credit. 4 | 5 | "By design" limitations are as follows: 6 | 7 | - _/book-svg_ - Black and white vector illustrations; intended for print. 8 | - File names often refer to the chapter where the illustration appeared in the first edition of Git for Teams. These file names may change over time. 9 | 10 | You should not feel restricted by these limitations and should make your own adaptations to fit the context where you will be using the diagrams. I gladly accept suggestions for improvement. 11 | 12 | The "people" used in the diagrams are available under a CC-0 license in a [separate repository](https://github.com/gitforteams/people). 13 | 14 | ## License 15 | 16 | Git for Teams Diagrams (c) by Emma Jane Hogbin Westby, and its contributing authors. 17 | 18 | Git for Teams Diagrams is licensed under a Creative Commons Attribution 3.0 Unported License. 19 | 20 | You should have received a copy of the license along with this work. If not, see http://creativecommons.org/licenses/by/3.0/. 21 | -------------------------------------------------------------------------------- /book-svg/05fig04-create-branch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | image/svg+xml 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | parent or ancestor branch 32 | 33 | 34 | 35 | new branch 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /book-svg/09fig02-blame.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | image/svg+xml 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 3e524e0b3e524e0b3e524e0b8baf47357f2550a88baf47353e524e0b8baf47353e524e0b3e524e0b 22 | 4) [partintro]5) --6) This section approaches the commands in Git7)8) Hands-on activities are sprinkled throughout ...9)10) This section is divided into the following ...11)12) * <<ch05>> covers the basics of distributed ...13) * <<ch06>> allows you to explore history re ... 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | lines modified as part of the same commit 31 | commit id 32 | line number 33 | text at that line 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /animation/rebasing.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | Interactive Rebasing: 20 | 21 | 22 | 23 | squash working commits into a whole idea 24 | 25 | 26 | 31 | 32 | 37 | commits over time 38 | 39 | 40 | 44 | 45 | 46 | 52 | [#348] Add function to animate command 53 | 54 | 55 | 56 | 57 | 58 | Function added. Not yet tested. 59 | 60 | 66 | 67 | 68 | 69 | 70 | 71 | Missing parameter. 72 | 73 | 79 | 80 | 81 | 82 | 83 | 84 | Uggh. 85 | 86 | 92 | 93 | 94 | 95 | 96 | 97 | Fixing typo. 98 | 104 | 105 | 106 | 112 | 113 | 114 | 123 | 124 | 132 | 133 | 142 | 143 | 151 | 152 | 161 | 162 | 170 | 171 | 180 | 181 | 189 | 190 | 191 | -------------------------------------------------------------------------------- /book-svg/09fig01-sample-history.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | image/svg+xml 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | parent or ancestor branch 39 | broken 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | working 56 | 57 | 58 | -------------------------------------------------------------------------------- /animation/rebasing-update-branch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | 11 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | Rebasing: 33 | 34 | 35 | Forward-port local commits to the updated upstream head. 36 | 37 | 42 | 43 | 48 | Time 49 | 50 | 51 | 55 | 56 | 57 | 61 | 65 | 71 | 77 | 78 | 79 | 80 | 84 | 88 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 110 | 111 | 112 | 113 | 119 | 120 | 121 | 122 | 128 | 134 | 135 | 136 | 142 | 148 | 149 | 150 | 156 | 162 | 163 | 164 | updated upstream head ... really means ... 165 | (re)start branch at most recent upstream commit 166 | 172 | 173 | 174 | 175 | apply commits to new branch tip 176 | (creates new commit objects) 177 | 183 | 184 | 185 | 186 | 192 | 193 | 199 | 200 | 206 | 207 | 208 | -------------------------------------------------------------------------------- /book-svg/02fig01-centralized.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | image/svg+xml 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | Centralized CodeHosting System 44 | 45 | 46 | 47 | 48 | commit 49 | checkout 50 | upload work 51 | download work 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /templates/oreilly-template.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | image/svg+xml 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | Centralized CodeHosting System 44 | 45 | 46 | 47 | 48 | commit 49 | checkout 50 | upload work 51 | download work 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /book-svg/03fig13-rebasing.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | image/svg+xml 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | master 44 | 45 | 46 | 47 | 48 | 49 | 50 | work branch 51 | 52 | 53 | 54 | 55 | 56 | branch 57 | 58 | before rebasing 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | master 68 | 69 | 70 | 71 | 72 | 73 | 74 | work branch 75 | 76 | 77 | 78 | 79 | 80 | 81 | after rebasing 82 | 83 | -------------------------------------------------------------------------------- /book-svg/03fig03-integration-branch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | image/svg+xml 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | master 60 | 61 | 62 | 63 | 64 | 65 | integration 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | feature 1 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | feature 2 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | Assuming feature 1 and feature 2integrate well: merge the combinedchanges in the integrration branchinto the master branch. 99 | 100 | 101 | -------------------------------------------------------------------------------- /book-svg/03fig02-reviewer-branches.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | image/svg+xml 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | master 56 | 57 | 58 | 59 | 60 | 61 | 62 | Novella 63 | 64 | 65 | 66 | merge 67 | branches containing changes from editors 68 | 69 | 70 | 71 | 72 | 73 | 74 | Joe 75 | 76 | 77 | merge 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | Christophe 87 | 88 | merge 89 | 90 | 91 | branch 92 | 93 | 94 | branch 95 | branch 96 | 97 | 98 | -------------------------------------------------------------------------------- /book-svg/06fig01-repo-location.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 28 | 36 | 42 | 43 | 47 | 51 | 55 | 63 | 69 | 70 | 77 | 83 | 84 | 91 | 97 | 98 | 105 | 111 | 112 | 113 | 134 | 136 | 137 | 139 | image/svg+xml 140 | 142 | 143 | 144 | 145 | 146 | 151 | 155 | 160 | repository 172 | 173 | 176 | working directory 188 | 189 | staging area 200 | what is stored 211 | what can be seen 222 | the difference between what is stored and what is seen 233 | 239 | 245 | 251 | 252 | 253 | -------------------------------------------------------------------------------- /book-svg/03fig09-gitflow-release-branch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | image/svg+xml 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 1234-fixing_links 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 1235-horse 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | merge bug fix back into develop 92 | release bug fixed 93 | 94 | develop 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 1236-cart 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | release-1.0 120 | 121 | 122 | 123 | merge 124 | 125 | 126 | branch 127 | 128 | 129 | 130 | short-lived branches; usually ticket-focused 131 | 132 | -------------------------------------------------------------------------------- /book-svg/03fig15-merge-no-ff.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | image/svg+xml 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | master 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | work branch 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | master 73 | 74 | 75 | 76 | 77 | 78 | 79 | work branch 80 | 81 | 82 | 83 | 84 | 85 | update branch using merge 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | master 95 | 96 | 97 | 98 | 99 | 100 | 101 | work branch 102 | 103 | 104 | 105 | 106 | do more work 107 | 108 | 109 | merge of work branchinto shared master branch 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | merge commit 121 | 122 | merge commit 123 | 124 | 125 | before merge 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | -------------------------------------------------------------------------------- /book-svg/11fig22-shared-access.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 39 | 41 | 47 | 55 | 56 | 62 | 70 | 71 | 77 | 85 | 86 | 92 | 100 | 101 | 107 | 117 | 118 | 119 | 121 | 122 | 124 | image/svg+xml 125 | 127 | 128 | 129 | 130 | 131 | 134 | 137 | 144 | Bitbucket 160 | 161 | 164 | 171 | Project Repository 186 | 187 | 194 | 201 | clone 217 | push 233 | 236 | 243 | LocalRepository 262 | 263 | 270 | checkout 286 | 293 | 301 | 304 | 311 | 318 | 325 | 330 | 337 | 343 | 350 | 356 | 357 | 360 | commit 375 | pull request via the web interface 388 | 401 | 402 | 405 | 414 | master 428 | 429 | 432 | 441 | feature 455 | 456 | 457 | 458 | -------------------------------------------------------------------------------- /book-svg/03fig04-github-flow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | image/svg+xml 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | master 82 | 83 | 84 | 85 | 86 | 87 | integration 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | feature 1 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | feature 2 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | deploy 131 | if there are errors:re-deploy master 132 | 133 | 134 | 135 | deploy 136 | if no errors:merge to master 137 | 138 | 139 | 140 | deploy 141 | 142 | if no errors:merge to master 143 | fix the errorsthen re-try deployment 144 | 145 | 146 | -------------------------------------------------------------------------------- /book-svg/06fig08-unmerge-shared.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 39 | 41 | 47 | 55 | 56 | 62 | 70 | 71 | 77 | 85 | 86 | 92 | 100 | 101 | 107 | 115 | 116 | 117 | 119 | 120 | 122 | image/svg+xml 123 | 125 | 126 | 127 | 128 | 129 | 132 | 135 | 145 | Is there a merge commit? 158 | 159 | 166 | 172 | no 186 | yes 200 | 206 | 212 | 218 | no 229 | yes 240 | revert <commit> 253 | 264 | branch --contains <commit> 277 | revert --no-commit <commit_keep>..<commit_reject>add <filename(s)>commit 305 | 306 | 312 | 315 | 325 | Are the commitssequential? 341 | 342 | revert --mainline N <commit> 357 | 367 | Typically N = 1.Check with: git log --oneline --graphCount branch lanes from left to right to get N.<commit> must be a merge commit 400 | Repeat for each bad commit. 412 | 413 | 414 | -------------------------------------------------------------------------------- /book-svg/06fig02-activity01-answer01.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 28 | 36 | 42 | 43 | 47 | 51 | 55 | 63 | 69 | 70 | 77 | 83 | 84 | 91 | 97 | 98 | 105 | 111 | 112 | 119 | 125 | 126 | 127 | 148 | 150 | 151 | 153 | image/svg+xml 154 | 156 | 157 | 158 | 159 | 160 | 165 | 169 | 175 | good file 187 | 202 | 217 | 232 | 233 | 236 | bad edits 248 | 249 | 260 | 271 | 282 | 288 | repository 311 | staging area 323 | working directory 335 | git checkout HEAD -- <filename> 348 | 349 | 350 | -------------------------------------------------------------------------------- /book-svg/06fig05-detached-head.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 29 | 34 | 35 | 43 | 48 | 49 | 56 | 64 | 70 | 71 | 75 | 79 | 83 | 91 | 97 | 98 | 106 | 112 | 113 | 121 | 127 | 128 | 136 | 142 | 143 | 151 | 157 | 158 | 165 | 171 | 172 | 173 | 194 | 196 | 197 | 199 | image/svg+xml 200 | 202 | 203 | 204 | 205 | 206 | 211 | 217 | 220 | 226 | 233 | 239 | 247 | 254 | 260 | 267 | 273 | 274 | checkout <commit> 288 | 297 | 306 | 315 | working directory(editable files) 330 | 341 | 347 | 353 | 359 | 365 | 371 | 377 | 383 | 384 | 385 | -------------------------------------------------------------------------------- /book-svg/03fig01-single-branch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 28 | 36 | 42 | 43 | 47 | 51 | 55 | 63 | 69 | 70 | 78 | 84 | 85 | 93 | 99 | 100 | 108 | 114 | 115 | 123 | 129 | 130 | 134 | 138 | 146 | 152 | 153 | 157 | 165 | 171 | 172 | 180 | 186 | 187 | 191 | 199 | 205 | 206 | 214 | 220 | 221 | 225 | 233 | 239 | 240 | 248 | 254 | 255 | 256 | 278 | 280 | 281 | 283 | image/svg+xml 284 | 286 | 287 | 288 | 289 | 290 | 295 | 301 | commit object 313 | 319 | 325 | 331 | 337 | commit object 349 | oldest commit object 361 | newest commit object 373 | right now 384 | the past 395 | 396 | 397 | --------------------------------------------------------------------------------