wayfarer 0.4.7 → 0.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (773) hide show
  1. checksums.yaml +4 -4
  2. data/.env +17 -0
  3. data/.github/workflows/lint.yaml +8 -6
  4. data/.github/workflows/release.yaml +2 -3
  5. data/.github/workflows/tests.yaml +5 -14
  6. data/.gitignore +2 -2
  7. data/.rubocop.yml +31 -0
  8. data/.vale.ini +6 -3
  9. data/Dockerfile +3 -2
  10. data/Gemfile +21 -0
  11. data/Gemfile.lock +233 -128
  12. data/Rakefile +7 -0
  13. data/docker-compose.yml +13 -14
  14. data/docs/guides/callbacks.md +3 -1
  15. data/docs/guides/configuration.md +10 -35
  16. data/docs/guides/development.md +67 -0
  17. data/docs/guides/handlers.md +7 -7
  18. data/docs/guides/jobs.md +54 -11
  19. data/docs/guides/networking/custom_adapters.md +109 -81
  20. data/docs/guides/networking/http.md +1 -1
  21. data/docs/guides/pages.md +24 -22
  22. data/docs/guides/routing.md +116 -34
  23. data/docs/guides/tasks.md +30 -10
  24. data/docs/guides/tutorial.md +23 -17
  25. data/docs/guides/user_agents.md +11 -9
  26. data/lib/wayfarer/base.rb +9 -8
  27. data/lib/wayfarer/batch_completion.rb +18 -14
  28. data/lib/wayfarer/callbacks.rb +14 -14
  29. data/lib/wayfarer/cli/route_printer.rb +78 -96
  30. data/lib/wayfarer/cli.rb +12 -30
  31. data/lib/wayfarer/gc.rb +6 -1
  32. data/lib/wayfarer/kv.rb +28 -0
  33. data/lib/wayfarer/middleware/base.rb +0 -4
  34. data/lib/wayfarer/middleware/chain.rb +7 -1
  35. data/lib/wayfarer/middleware/content_type.rb +20 -15
  36. data/lib/wayfarer/middleware/controller.rb +1 -1
  37. data/lib/wayfarer/middleware/dedup.rb +9 -3
  38. data/lib/wayfarer/middleware/dispatch.rb +7 -2
  39. data/lib/wayfarer/middleware/normalize.rb +4 -12
  40. data/lib/wayfarer/middleware/router.rb +1 -1
  41. data/lib/wayfarer/middleware/uri_parser.rb +4 -3
  42. data/lib/wayfarer/networking/context.rb +13 -2
  43. data/lib/wayfarer/networking/ferrum.rb +2 -5
  44. data/lib/wayfarer/networking/follow.rb +2 -1
  45. data/lib/wayfarer/networking/pool.rb +11 -12
  46. data/lib/wayfarer/networking/selenium.rb +15 -7
  47. data/lib/wayfarer/networking/strategy.rb +6 -2
  48. data/lib/wayfarer/page.rb +0 -2
  49. data/lib/wayfarer/parsing/xml.rb +1 -1
  50. data/lib/wayfarer/parsing.rb +2 -5
  51. data/lib/wayfarer/redis/barrier.rb +15 -2
  52. data/lib/wayfarer/redis/counter.rb +1 -2
  53. data/lib/wayfarer/routing/dsl.rb +166 -31
  54. data/lib/wayfarer/routing/hash_stack.rb +33 -0
  55. data/lib/wayfarer/routing/matchers/custom.rb +8 -5
  56. data/lib/wayfarer/routing/matchers/{suffix.rb → empty_params.rb} +2 -6
  57. data/lib/wayfarer/routing/matchers/host.rb +15 -9
  58. data/lib/wayfarer/routing/matchers/path.rb +11 -33
  59. data/lib/wayfarer/routing/matchers/query.rb +41 -17
  60. data/lib/wayfarer/routing/matchers/result.rb +12 -0
  61. data/lib/wayfarer/routing/matchers/scheme.rb +13 -5
  62. data/lib/wayfarer/routing/matchers/url.rb +13 -5
  63. data/lib/wayfarer/routing/path_consumer.rb +130 -0
  64. data/lib/wayfarer/routing/path_finder.rb +151 -23
  65. data/lib/wayfarer/routing/result.rb +1 -1
  66. data/lib/wayfarer/routing/root_route.rb +14 -2
  67. data/lib/wayfarer/routing/route.rb +71 -14
  68. data/lib/wayfarer/routing/serializable.rb +28 -0
  69. data/lib/wayfarer/routing/sub_route.rb +53 -0
  70. data/lib/wayfarer/routing/target_route.rb +17 -1
  71. data/lib/wayfarer/stringify.rb +1 -2
  72. data/lib/wayfarer/task.rb +3 -5
  73. data/lib/wayfarer/uri/normalization.rb +120 -0
  74. data/lib/wayfarer.rb +55 -10
  75. data/mise.toml +2 -0
  76. data/mkdocs.yml +8 -17
  77. data/rake/lint.rake +0 -96
  78. data/rake/release.rake +1 -13
  79. data/rake/tests.rake +8 -4
  80. data/requirements.txt +1 -1
  81. data/spec/factories/job.rb +8 -0
  82. data/spec/factories/middleware.rb +2 -2
  83. data/spec/factories/path_finder.rb +11 -0
  84. data/spec/factories/redis.rb +19 -0
  85. data/spec/factories/task.rb +39 -1
  86. data/spec/spec_helpers.rb +50 -57
  87. data/spec/support/active_job_helpers.rb +8 -0
  88. data/spec/support/integration_helpers.rb +21 -0
  89. data/spec/support/redis_helpers.rb +9 -0
  90. data/spec/support/test_app.rb +64 -43
  91. data/spec/{base_spec.rb → wayfarer/base_spec.rb} +32 -36
  92. data/spec/wayfarer/batch_completion_spec.rb +142 -0
  93. data/spec/wayfarer/cli/job_spec.rb +88 -0
  94. data/spec/wayfarer/cli/routing_spec.rb +322 -0
  95. data/spec/{cli → wayfarer/cli}/version_spec.rb +1 -1
  96. data/spec/wayfarer/gc_spec.rb +29 -0
  97. data/spec/{handler_spec.rb → wayfarer/handler_spec.rb} +1 -3
  98. data/spec/{integration → wayfarer/integration}/callbacks_spec.rb +9 -6
  99. data/spec/wayfarer/integration/content_type_spec.rb +37 -0
  100. data/spec/wayfarer/integration/custom_routing_spec.rb +51 -0
  101. data/spec/{integration → wayfarer/integration}/gc_spec.rb +9 -13
  102. data/spec/{integration → wayfarer/integration}/handler_spec.rb +9 -10
  103. data/spec/{integration → wayfarer/integration}/page_spec.rb +16 -14
  104. data/spec/{integration → wayfarer/integration}/params_spec.rb +4 -4
  105. data/spec/{integration → wayfarer/integration}/parsing_spec.rb +7 -32
  106. data/spec/wayfarer/integration/retry_spec.rb +112 -0
  107. data/spec/{integration → wayfarer/integration}/stage_spec.rb +6 -6
  108. data/spec/{middleware → wayfarer/middleware}/batch_completion_spec.rb +4 -5
  109. data/spec/{middleware → wayfarer/middleware}/chain_spec.rb +20 -15
  110. data/spec/{middleware → wayfarer/middleware}/content_type_spec.rb +18 -21
  111. data/spec/{middleware → wayfarer/middleware}/controller_spec.rb +25 -24
  112. data/spec/wayfarer/middleware/dedup_spec.rb +66 -0
  113. data/spec/wayfarer/middleware/normalize_spec.rb +32 -0
  114. data/spec/{middleware → wayfarer/middleware}/router_spec.rb +18 -20
  115. data/spec/{middleware → wayfarer/middleware}/stage_spec.rb +11 -10
  116. data/spec/wayfarer/middleware/uri_parser_spec.rb +63 -0
  117. data/spec/{middleware → wayfarer/middleware}/user_agent_spec.rb +34 -32
  118. data/spec/wayfarer/networking/capybara_spec.rb +13 -0
  119. data/spec/{networking → wayfarer/networking}/context_spec.rb +47 -38
  120. data/spec/wayfarer/networking/ferrum_spec.rb +13 -0
  121. data/spec/{networking → wayfarer/networking}/follow_spec.rb +9 -4
  122. data/spec/wayfarer/networking/http_spec.rb +12 -0
  123. data/spec/{networking → wayfarer/networking}/pool_spec.rb +11 -9
  124. data/spec/wayfarer/networking/selenium_spec.rb +12 -0
  125. data/spec/{networking → wayfarer/networking}/strategy.rb +35 -56
  126. data/spec/{page_spec.rb → wayfarer/page_spec.rb} +3 -3
  127. data/spec/{parsing → wayfarer/parsing}/json_spec.rb +1 -1
  128. data/spec/{parsing/xml_spec.rb → wayfarer/parsing/xml_parse_spec.rb} +4 -3
  129. data/spec/{redis → wayfarer/redis}/barrier_spec.rb +5 -4
  130. data/spec/wayfarer/redis/counter_spec.rb +34 -0
  131. data/spec/{redis → wayfarer/redis}/pool_spec.rb +3 -2
  132. data/spec/{routing → wayfarer/routing}/dsl_spec.rb +12 -22
  133. data/spec/wayfarer/routing/hash_stack_spec.rb +63 -0
  134. data/spec/wayfarer/routing/integration_spec.rb +101 -0
  135. data/spec/wayfarer/routing/matchers/custom_spec.rb +39 -0
  136. data/spec/wayfarer/routing/matchers/host_spec.rb +56 -0
  137. data/spec/wayfarer/routing/matchers/matcher.rb +17 -0
  138. data/spec/wayfarer/routing/matchers/path_spec.rb +43 -0
  139. data/spec/wayfarer/routing/matchers/query_spec.rb +123 -0
  140. data/spec/wayfarer/routing/matchers/scheme_spec.rb +45 -0
  141. data/spec/wayfarer/routing/matchers/url_spec.rb +33 -0
  142. data/spec/wayfarer/routing/path_consumer_spec.rb +123 -0
  143. data/spec/wayfarer/routing/path_finder_spec.rb +409 -0
  144. data/spec/wayfarer/routing/root_route_spec.rb +51 -0
  145. data/spec/wayfarer/routing/route_spec.rb +74 -0
  146. data/spec/wayfarer/routing/sub_route_spec.rb +103 -0
  147. data/spec/wayfarer/uri/normalization_spec.rb +98 -0
  148. data/spec/wayfarer_spec.rb +2 -2
  149. data/wayfarer.gemspec +17 -28
  150. metadata +183 -832
  151. data/.rbenv-gemsets +0 -1
  152. data/.ruby-version +0 -1
  153. data/RELEASING.md +0 -17
  154. data/docs/cookbook/user_agent.md +0 -7
  155. data/docs/design.md +0 -36
  156. data/docs/guides/jobs/error_handling.md +0 -40
  157. data/docs/reference/configuration.md +0 -36
  158. data/lib/wayfarer/middleware/lazy.rb +0 -11
  159. data/spec/batch_completion_spec.rb +0 -104
  160. data/spec/cli/job_spec.rb +0 -74
  161. data/spec/cli/routing_spec.rb +0 -101
  162. data/spec/fixtures/dummy_job.rb +0 -9
  163. data/spec/gc_spec.rb +0 -17
  164. data/spec/integration/content_type_spec.rb +0 -145
  165. data/spec/integration/routing_spec.rb +0 -18
  166. data/spec/middleware/dedup_spec.rb +0 -71
  167. data/spec/middleware/dispatch_spec.rb +0 -59
  168. data/spec/middleware/normalize_spec.rb +0 -60
  169. data/spec/middleware/uri_parser_spec.rb +0 -53
  170. data/spec/networking/capybara_spec.rb +0 -12
  171. data/spec/networking/ferrum_spec.rb +0 -12
  172. data/spec/networking/http_spec.rb +0 -12
  173. data/spec/networking/selenium_spec.rb +0 -12
  174. data/spec/redis/counter_spec.rb +0 -44
  175. data/spec/routing/integration_spec.rb +0 -110
  176. data/spec/routing/matchers/custom_spec.rb +0 -31
  177. data/spec/routing/matchers/host_spec.rb +0 -49
  178. data/spec/routing/matchers/path_spec.rb +0 -43
  179. data/spec/routing/matchers/query_spec.rb +0 -137
  180. data/spec/routing/matchers/scheme_spec.rb +0 -25
  181. data/spec/routing/matchers/suffix_spec.rb +0 -41
  182. data/spec/routing/matchers/uri_spec.rb +0 -27
  183. data/spec/routing/path_finder_spec.rb +0 -33
  184. data/spec/routing/root_route_spec.rb +0 -29
  185. data/spec/routing/route_spec.rb +0 -43
  186. data/spec/support/static/git-scm.com/assets/application-38b0d42ff05ffea45841edebbd14b75b89585646153808e82907c2c5c11f324b.js +0 -772
  187. data/spec/support/static/git-scm.com/assets/application-cafcf280f67db0e6d8168ba98a38da878769a9d5f37793b68ffb963a02d185e0.css +0 -1
  188. data/spec/support/static/git-scm.com/assets/modernize-b3ebe0c31c24f230dc62179d3e1030d2e57a53b1668d9382c0a27dbd44a94beb.js +0 -20
  189. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Bash.html +0 -751
  190. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-PowerShell.html +0 -804
  191. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Sublime-Text.html +0 -728
  192. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Visual-Studio-Code.html +0 -751
  193. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Visual-Studio.html +0 -740
  194. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Git-in-Zsh.html +0 -765
  195. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Graphical-Interfaces.html +0 -931
  196. data/spec/support/static/git-scm.com/book/en/v2/Appendix-A:-Git-in-Other-Environments-Summary.html +0 -702
  197. data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-Command-line-Git.html +0 -720
  198. data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-Dulwich.html +0 -746
  199. data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-JGit.html +0 -889
  200. data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-Libgit2.html +0 -1003
  201. data/spec/support/static/git-scm.com/book/en/v2/Appendix-B:-Embedding-Git-in-your-Applications-go-git.html +0 -792
  202. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Administration.html +0 -745
  203. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Basic-Snapshotting.html +0 -840
  204. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Branching-and-Merging.html +0 -829
  205. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Debugging.html +0 -731
  206. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Email.html +0 -766
  207. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-External-Systems.html +0 -721
  208. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Getting-and-Creating-Projects.html +0 -746
  209. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Inspection-and-Comparison.html +0 -735
  210. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Patching.html +0 -742
  211. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Plumbing-Commands.html +0 -715
  212. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Setup-and-Config.html +0 -863
  213. data/spec/support/static/git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Sharing-and-Updating-Projects.html +0 -802
  214. data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-An-Example-Git-Enforced-Policy.html +0 -1200
  215. data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-Git-Attributes.html +0 -1134
  216. data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-Git-Configuration.html +0 -1315
  217. data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-Git-Hooks.html +0 -876
  218. data/spec/support/static/git-scm.com/book/en/v2/Customizing-Git-Summary.html +0 -704
  219. data/spec/support/static/git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project.html +0 -1667
  220. data/spec/support/static/git-scm.com/book/en/v2/Distributed-Git-Distributed-Workflows.html +0 -859
  221. data/spec/support/static/git-scm.com/book/en/v2/Distributed-Git-Maintaining-a-Project.html +0 -1354
  222. data/spec/support/static/git-scm.com/book/en/v2/Distributed-Git-Summary.html +0 -704
  223. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-A-Short-History-of-Git.html +0 -735
  224. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-About-Version-Control.html +0 -783
  225. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup.html +0 -889
  226. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-Getting-Help.html +0 -750
  227. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-Installing-Git.html +0 -879
  228. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-Summary.html +0 -704
  229. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-The-Command-Line.html +0 -711
  230. data/spec/support/static/git-scm.com/book/en/v2/Getting-Started-What-is-Git?.html +0 -857
  231. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository.html +0 -816
  232. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Git-Aliases.html +0 -775
  233. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository.html +0 -1432
  234. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Summary.html +0 -703
  235. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Tagging.html +0 -1049
  236. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Undoing-Things.html +0 -998
  237. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History.html +0 -1172
  238. data/spec/support/static/git-scm.com/book/en/v2/Git-Basics-Working-with-Remotes.html +0 -983
  239. data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging.html +0 -1102
  240. data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Branch-Management.html +0 -946
  241. data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell.html +0 -1020
  242. data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Branching-Workflows.html +0 -786
  243. data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Rebasing.html +0 -1028
  244. data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Remote-Branches.html +0 -1009
  245. data/spec/support/static/git-scm.com/book/en/v2/Git-Branching-Summary.html +0 -705
  246. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Environment-Variables.html +0 -1009
  247. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Git-Objects.html +0 -1209
  248. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Git-References.html +0 -939
  249. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Maintenance-and-Data-Recovery.html +0 -1086
  250. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Packfiles.html +0 -876
  251. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Porcelain.html +0 -745
  252. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Summary.html +0 -708
  253. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-The-Refspec.html +0 -872
  254. data/spec/support/static/git-scm.com/book/en/v2/Git-Internals-Transfer-Protocols.html +0 -1043
  255. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Advanced-Merging.html +0 -1605
  256. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Bundling.html +0 -888
  257. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Credential-Storage.html +0 -1035
  258. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Debugging-with-Git.html +0 -861
  259. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Interactive-Staging.html +0 -920
  260. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Replace.html +0 -949
  261. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Rerere.html +0 -983
  262. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Reset-Demystified.html +0 -1236
  263. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Revision-Selection.html +0 -1178
  264. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Rewriting-History.html +0 -1182
  265. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Searching.html +0 -875
  266. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work.html +0 -922
  267. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning.html +0 -1039
  268. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Submodules.html +0 -1864
  269. data/spec/support/static/git-scm.com/book/en/v2/Git-Tools-Summary.html +0 -705
  270. data/spec/support/static/git-scm.com/book/en/v2/Git-and-Other-Systems-Git-as-a-Client.html +0 -2656
  271. data/spec/support/static/git-scm.com/book/en/v2/Git-and-Other-Systems-Migrating-to-Git.html +0 -1741
  272. data/spec/support/static/git-scm.com/book/en/v2/Git-and-Other-Systems-Summary.html +0 -703
  273. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Generating-Your-SSH-Public-Key.html +0 -759
  274. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Getting-Git-on-a-Server.html +0 -827
  275. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Git-Daemon.html +0 -775
  276. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-GitLab.html +0 -872
  277. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-GitWeb.html +0 -776
  278. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server.html +0 -870
  279. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Smart-HTTP.html +0 -789
  280. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Summary.html +0 -709
  281. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols.html +0 -963
  282. data/spec/support/static/git-scm.com/book/en/v2/Git-on-the-Server-Third-Party-Hosted-Options.html +0 -711
  283. data/spec/support/static/git-scm.com/book/en/v2/GitHub-Account-Setup-and-Configuration.html +0 -858
  284. data/spec/support/static/git-scm.com/book/en/v2/GitHub-Contributing-to-a-Project.html +0 -1502
  285. data/spec/support/static/git-scm.com/book/en/v2/GitHub-Maintaining-a-Project.html +0 -1218
  286. data/spec/support/static/git-scm.com/book/en/v2/GitHub-Managing-an-organization.html +0 -797
  287. data/spec/support/static/git-scm.com/book/en/v2/GitHub-Scripting-GitHub.html +0 -1059
  288. data/spec/support/static/git-scm.com/book/en/v2/GitHub-Summary.html +0 -704
  289. data/spec/support/static/git-scm.com/book/en/v2/ch00/_abort_merge.html +0 -1605
  290. data/spec/support/static/git-scm.com/book/en/v2/ch00/_add_email_addresses.html +0 -858
  291. data/spec/support/static/git-scm.com/book/en/v2/ch00/_advanced_merging.html +0 -1605
  292. data/spec/support/static/git-scm.com/book/en/v2/ch00/_an_example_git_enforced_policy.html +0 -1200
  293. data/spec/support/static/git-scm.com/book/en/v2/ch00/_annotated_tags.html +0 -1049
  294. data/spec/support/static/git-scm.com/book/en/v2/ch00/_api_comment.html +0 -1059
  295. data/spec/support/static/git-scm.com/book/en/v2/ch00/_bare_repo.html +0 -827
  296. data/spec/support/static/git-scm.com/book/en/v2/ch00/_basic_branching.html +0 -1102
  297. data/spec/support/static/git-scm.com/book/en/v2/ch00/_basic_merge_conflicts.html +0 -1102
  298. data/spec/support/static/git-scm.com/book/en/v2/ch00/_basic_merging.html +0 -1102
  299. data/spec/support/static/git-scm.com/book/en/v2/ch00/_binary_search.html +0 -861
  300. data/spec/support/static/git-scm.com/book/en/v2/ch00/_branch_management.html +0 -946
  301. data/spec/support/static/git-scm.com/book/en/v2/ch00/_branch_references.html +0 -1178
  302. data/spec/support/static/git-scm.com/book/en/v2/ch00/_build_number.html +0 -1354
  303. data/spec/support/static/git-scm.com/book/en/v2/ch00/_bundling.html +0 -888
  304. data/spec/support/static/git-scm.com/book/en/v2/ch00/_changing_multiple.html +0 -1182
  305. data/spec/support/static/git-scm.com/book/en/v2/ch00/_checking_out_conflicts.html +0 -1605
  306. data/spec/support/static/git-scm.com/book/en/v2/ch00/_checking_out_remotes.html +0 -1354
  307. data/spec/support/static/git-scm.com/book/en/v2/ch00/_checking_status.html +0 -1432
  308. data/spec/support/static/git-scm.com/book/en/v2/ch00/_cloning_submodules.html +0 -1864
  309. data/spec/support/static/git-scm.com/book/en/v2/ch00/_commit_guidelines.html +0 -1667
  310. data/spec/support/static/git-scm.com/book/en/v2/ch00/_commit_ranges.html +0 -1178
  311. data/spec/support/static/git-scm.com/book/en/v2/ch00/_commit_status.html +0 -1059
  312. data/spec/support/static/git-scm.com/book/en/v2/ch00/_committing_changes.html +0 -1432
  313. data/spec/support/static/git-scm.com/book/en/v2/ch00/_contrib_file.html +0 -1218
  314. data/spec/support/static/git-scm.com/book/en/v2/ch00/_contributing_project.html +0 -1667
  315. data/spec/support/static/git-scm.com/book/en/v2/ch00/_create_new_branch.html +0 -1020
  316. data/spec/support/static/git-scm.com/book/en/v2/ch00/_credential_caching.html +0 -1035
  317. data/spec/support/static/git-scm.com/book/en/v2/ch00/_custom_importer.html +0 -1741
  318. data/spec/support/static/git-scm.com/book/en/v2/ch00/_data_recovery.html +0 -1086
  319. data/spec/support/static/git-scm.com/book/en/v2/ch00/_delete_branches.html +0 -1009
  320. data/spec/support/static/git-scm.com/book/en/v2/ch00/_editor.html +0 -889
  321. data/spec/support/static/git-scm.com/book/en/v2/ch00/_eg_task_lists.html +0 -1502
  322. data/spec/support/static/git-scm.com/book/en/v2/ch00/_email_hooks.html +0 -876
  323. data/spec/support/static/git-scm.com/book/en/v2/ch00/_email_notification.html +0 -1502
  324. data/spec/support/static/git-scm.com/book/en/v2/ch00/_email_notifications.html +0 -1218
  325. data/spec/support/static/git-scm.com/book/en/v2/ch00/_email_pr.html +0 -1218
  326. data/spec/support/static/git-scm.com/book/en/v2/ch00/_enforcing_commit_message_format.html +0 -1200
  327. data/spec/support/static/git-scm.com/book/en/v2/ch00/_example_markdown.html +0 -1502
  328. data/spec/support/static/git-scm.com/book/en/v2/ch00/_external_merge_tools.html +0 -1315
  329. data/spec/support/static/git-scm.com/book/en/v2/ch00/_fetch_and_push_on_different_repositories.html +0 -1502
  330. data/spec/support/static/git-scm.com/book/en/v2/ch00/_fetching_and_pulling.html +0 -983
  331. data/spec/support/static/git-scm.com/book/en/v2/ch00/_file_annotation.html +0 -861
  332. data/spec/support/static/git-scm.com/book/en/v2/ch00/_first_time.html +0 -889
  333. data/spec/support/static/git-scm.com/book/en/v2/ch00/_generate_ssh_key.html +0 -759
  334. data/spec/support/static/git-scm.com/book/en/v2/ch00/_getting_a_repo.html +0 -816
  335. data/spec/support/static/git-scm.com/book/en/v2/ch00/_getting_git_on_a_server.html +0 -827
  336. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_aliases.html +0 -775
  337. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_am.html +0 -1354
  338. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_amend.html +0 -1182
  339. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_branches_overview.html +0 -1020
  340. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_clean.html +0 -1039
  341. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_cloning.html +0 -816
  342. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_commit_objects.html +0 -1209
  343. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_config.html +0 -1315
  344. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_diff_staged.html +0 -1432
  345. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_gc.html +0 -1086
  346. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_grep.html +0 -875
  347. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_help.html +0 -750
  348. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_hooks.html +0 -876
  349. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_mv.html +0 -1432
  350. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_p4.html +0 -1741
  351. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_p4_branches.html +0 -2656
  352. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_reflog.html +0 -1178
  353. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_refs.html +0 -939
  354. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_reset.html +0 -1236
  355. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_stashing.html +0 -1039
  356. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_submodules.html +0 -1864
  357. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_svn.html +0 -2656
  358. data/spec/support/static/git-scm.com/book/en/v2/ch00/_git_tagging.html +0 -1049
  359. data/spec/support/static/git-scm.com/book/en/v2/ch00/_gitlab_groups_section.html +0 -872
  360. data/spec/support/static/git-scm.com/book/en/v2/ch00/_ignoring.html +0 -1432
  361. data/spec/support/static/git-scm.com/book/en/v2/ch00/_inspecting_remote.html +0 -983
  362. data/spec/support/static/git-scm.com/book/en/v2/ch00/_integration_manager.html +0 -859
  363. data/spec/support/static/git-scm.com/book/en/v2/ch00/_interactive_staging.html +0 -920
  364. data/spec/support/static/git-scm.com/book/en/v2/ch00/_keyword_expansion.html +0 -1134
  365. data/spec/support/static/git-scm.com/book/en/v2/ch00/_libgit2_bindings.html +0 -1003
  366. data/spec/support/static/git-scm.com/book/en/v2/ch00/_manual_remerge.html +0 -1605
  367. data/spec/support/static/git-scm.com/book/en/v2/ch00/_md_code.html +0 -1502
  368. data/spec/support/static/git-scm.com/book/en/v2/ch00/_md_drag.html +0 -1502
  369. data/spec/support/static/git-scm.com/book/en/v2/ch00/_md_emoji.html +0 -1502
  370. data/spec/support/static/git-scm.com/book/en/v2/ch00/_md_quote.html +0 -1502
  371. data/spec/support/static/git-scm.com/book/en/v2/ch00/_merge_button.html +0 -1218
  372. data/spec/support/static/git-scm.com/book/en/v2/ch00/_merge_log.html +0 -1605
  373. data/spec/support/static/git-scm.com/book/en/v2/ch00/_merge_rebase_work.html +0 -1028
  374. data/spec/support/static/git-scm.com/book/en/v2/ch00/_new_repo_dropdown.html +0 -1218
  375. data/spec/support/static/git-scm.com/book/en/v2/ch00/_not_center.html +0 -1218
  376. data/spec/support/static/git-scm.com/book/en/v2/ch00/_org_page.html +0 -797
  377. data/spec/support/static/git-scm.com/book/en/v2/ch00/_other_client_hooks.html +0 -876
  378. data/spec/support/static/git-scm.com/book/en/v2/ch00/_p4_git_fusion.html +0 -2656
  379. data/spec/support/static/git-scm.com/book/en/v2/ch00/_patches_from_email.html +0 -1354
  380. data/spec/support/static/git-scm.com/book/en/v2/ch00/_personal_avatar.html +0 -858
  381. data/spec/support/static/git-scm.com/book/en/v2/ch00/_plumbing_porcelain.html +0 -745
  382. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_closed.html +0 -1502
  383. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_discussion.html +0 -1502
  384. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_fail.html +0 -1502
  385. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_final.html +0 -1502
  386. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_references.html +0 -1502
  387. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_references_render.html +0 -1502
  388. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pr_refs.html +0 -1218
  389. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pre_merge_rebase_work.html +0 -1028
  390. data/spec/support/static/git-scm.com/book/en/v2/ch00/_preparing_release.html +0 -1354
  391. data/spec/support/static/git-scm.com/book/en/v2/ch00/_private_team.html +0 -1667
  392. data/spec/support/static/git-scm.com/book/en/v2/ch00/_project_over_email.html +0 -1667
  393. data/spec/support/static/git-scm.com/book/en/v2/ch00/_public_project.html +0 -1667
  394. data/spec/support/static/git-scm.com/book/en/v2/ch00/_publishing_submodules.html +0 -1864
  395. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pushing_branches.html +0 -1009
  396. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pushing_refspecs.html +0 -872
  397. data/spec/support/static/git-scm.com/book/en/v2/ch00/_pushing_remotes.html +0 -983
  398. data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebase_cherry_pick.html +0 -1354
  399. data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebase_peril.html +0 -1028
  400. data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebase_rebase.html +0 -1028
  401. data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebase_rebase_work.html +0 -1028
  402. data/spec/support/static/git-scm.com/book/en/v2/ch00/_rebasing.html +0 -1028
  403. data/spec/support/static/git-scm.com/book/en/v2/ch00/_refspec.html +0 -872
  404. data/spec/support/static/git-scm.com/book/en/v2/ch00/_remote_branches.html +0 -1009
  405. data/spec/support/static/git-scm.com/book/en/v2/ch00/_remote_repos.html +0 -983
  406. data/spec/support/static/git-scm.com/book/en/v2/ch00/_removing_file_every_commit.html +0 -1182
  407. data/spec/support/static/git-scm.com/book/en/v2/ch00/_removing_files.html +0 -1432
  408. data/spec/support/static/git-scm.com/book/en/v2/ch00/_removing_objects.html +0 -1086
  409. data/spec/support/static/git-scm.com/book/en/v2/ch00/_replace.html +0 -949
  410. data/spec/support/static/git-scm.com/book/en/v2/ch00/_reverse_commit.html +0 -1605
  411. data/spec/support/static/git-scm.com/book/en/v2/ch00/_revision_selection.html +0 -1178
  412. data/spec/support/static/git-scm.com/book/en/v2/ch00/_rewriting_history.html +0 -1182
  413. data/spec/support/static/git-scm.com/book/en/v2/ch00/_searching.html +0 -875
  414. data/spec/support/static/git-scm.com/book/en/v2/ch00/_service_config.html +0 -1059
  415. data/spec/support/static/git-scm.com/book/en/v2/ch00/_services_hooks.html +0 -1059
  416. data/spec/support/static/git-scm.com/book/en/v2/ch00/_setting_up_server.html +0 -870
  417. data/spec/support/static/git-scm.com/book/en/v2/ch00/_sharing_tags.html +0 -1049
  418. data/spec/support/static/git-scm.com/book/en/v2/ch00/_signing.html +0 -922
  419. data/spec/support/static/git-scm.com/book/en/v2/ch00/_signing_commits.html +0 -922
  420. data/spec/support/static/git-scm.com/book/en/v2/ch00/_squashing.html +0 -1182
  421. data/spec/support/static/git-scm.com/book/en/v2/ch00/_starting_submodules.html +0 -1864
  422. data/spec/support/static/git-scm.com/book/en/v2/ch00/_subtree_merge.html +0 -1605
  423. data/spec/support/static/git-scm.com/book/en/v2/ch00/_switching_branches.html +0 -1020
  424. data/spec/support/static/git-scm.com/book/en/v2/ch00/_tagging_releases.html +0 -1354
  425. data/spec/support/static/git-scm.com/book/en/v2/ch00/_task_list_progress.html +0 -1502
  426. data/spec/support/static/git-scm.com/book/en/v2/ch00/_team_page.html +0 -797
  427. data/spec/support/static/git-scm.com/book/en/v2/ch00/_the_index.html +0 -1236
  428. data/spec/support/static/git-scm.com/book/en/v2/ch00/_the_shortlog.html +0 -1354
  429. data/spec/support/static/git-scm.com/book/en/v2/ch00/_topic_branch.html +0 -786
  430. data/spec/support/static/git-scm.com/book/en/v2/ch00/_tracking_branches.html +0 -1009
  431. data/spec/support/static/git-scm.com/book/en/v2/ch00/_tracking_files.html +0 -1432
  432. data/spec/support/static/git-scm.com/book/en/v2/ch00/_tree_objects.html +0 -1209
  433. data/spec/support/static/git-scm.com/book/en/v2/ch00/_triple_dot.html +0 -1178
  434. data/spec/support/static/git-scm.com/book/en/v2/ch00/_undoing.html +0 -998
  435. data/spec/support/static/git-scm.com/book/en/v2/ch00/_unstaging.html +0 -998
  436. data/spec/support/static/git-scm.com/book/en/v2/ch00/_viewing_history.html +0 -1172
  437. data/spec/support/static/git-scm.com/book/en/v2/ch00/_web_hook.html +0 -1059
  438. data/spec/support/static/git-scm.com/book/en/v2/ch00/_what_is_introduced.html +0 -1354
  439. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch01-getting-started.html +0 -783
  440. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch02-git-basics-chapter.html +0 -816
  441. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch03-git-branching.html +0 -1020
  442. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch05-distributed-git.html +0 -859
  443. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch06-github.html +0 -858
  444. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch06-github_flow.html +0 -1502
  445. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch10-git-internals.html +0 -745
  446. data/spec/support/static/git-scm.com/book/en/v2/ch00/ch_core_editor.html +0 -863
  447. data/spec/support/static/git-scm.com/book/en/v2/ch00/divergent_history.html +0 -1020
  448. data/spec/support/static/git-scm.com/book/en/v2/ch00/double_dot.html +0 -1178
  449. data/spec/support/static/git-scm.com/book/en/v2/ch00/filters_a.html +0 -1134
  450. data/spec/support/static/git-scm.com/book/en/v2/ch00/filters_b.html +0 -1134
  451. data/spec/support/static/git-scm.com/book/en/v2/ch00/limit_options.html +0 -1172
  452. data/spec/support/static/git-scm.com/book/en/v2/ch00/log_options.html +0 -1172
  453. data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_a.html +0 -1354
  454. data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_b.html +0 -1354
  455. data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_c.html +0 -1354
  456. data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_d.html +0 -1354
  457. data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_e.html +0 -1354
  458. data/spec/support/static/git-scm.com/book/en/v2/ch00/merwf_f.html +0 -1354
  459. data/spec/support/static/git-scm.com/book/en/v2/ch00/oh_my_zsh_git.html +0 -765
  460. data/spec/support/static/git-scm.com/book/en/v2/ch00/pretty_format.html +0 -1172
  461. data/spec/support/static/git-scm.com/book/en/v2/ch00/psp_b.html +0 -1667
  462. data/spec/support/static/git-scm.com/book/en/v2/ch00/rbdiag_e.html +0 -1028
  463. data/spec/support/static/git-scm.com/book/en/v2/ch00/rbdiag_g.html +0 -1028
  464. data/spec/support/static/git-scm.com/book/en/v2/ch00/rbdiag_h.html +0 -1028
  465. data/spec/support/static/git-scm.com/book/en/v2/ch00/rbdiag_i.html +0 -1028
  466. data/spec/support/static/git-scm.com/book/en/v2/ch00/rebasing-merging-example.html +0 -1028
  467. data/spec/support/static/git-scm.com/book/en/v2/ch00/ref_rerere.html +0 -983
  468. data/spec/support/static/git-scm.com/book/en/v2/ch00/ref_the_ref.html +0 -939
  469. data/spec/support/static/git-scm.com/book/en/v2/ch00/wfdiag_b.html +0 -859
  470. data/spec/support/static/git-scm.com/book/en/v2/ch00/wfdiag_c.html +0 -859
  471. data/spec/support/static/git-scm.com/book/en/v2/ch00/what_is_git_section.html +0 -857
  472. data/spec/support/static/git-scm.com/book/en/v2/images/2fa-1.png +0 -0
  473. data/spec/support/static/git-scm.com/book/en/v2/images/account-settings.png +0 -0
  474. data/spec/support/static/git-scm.com/book/en/v2/images/advance-master.png +0 -0
  475. data/spec/support/static/git-scm.com/book/en/v2/images/advance-testing.png +0 -0
  476. data/spec/support/static/git-scm.com/book/en/v2/images/areas.png +0 -0
  477. data/spec/support/static/git-scm.com/book/en/v2/images/avatar-crop.png +0 -0
  478. data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-1.png +0 -0
  479. data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-2.png +0 -0
  480. data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-3.png +0 -0
  481. data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-4.png +0 -0
  482. data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-5.png +0 -0
  483. data/spec/support/static/git-scm.com/book/en/v2/images/basic-branching-6.png +0 -0
  484. data/spec/support/static/git-scm.com/book/en/v2/images/basic-merging-1.png +0 -0
  485. data/spec/support/static/git-scm.com/book/en/v2/images/basic-merging-2.png +0 -0
  486. data/spec/support/static/git-scm.com/book/en/v2/images/basic-rebase-1.png +0 -0
  487. data/spec/support/static/git-scm.com/book/en/v2/images/basic-rebase-2.png +0 -0
  488. data/spec/support/static/git-scm.com/book/en/v2/images/basic-rebase-3.png +0 -0
  489. data/spec/support/static/git-scm.com/book/en/v2/images/basic-rebase-4.png +0 -0
  490. data/spec/support/static/git-scm.com/book/en/v2/images/benevolent-dictator.png +0 -0
  491. data/spec/support/static/git-scm.com/book/en/v2/images/blink-01-start.png +0 -0
  492. data/spec/support/static/git-scm.com/book/en/v2/images/blink-02-pr.png +0 -0
  493. data/spec/support/static/git-scm.com/book/en/v2/images/blink-03-pull-request-open.png +0 -0
  494. data/spec/support/static/git-scm.com/book/en/v2/images/blink-04-email.png +0 -0
  495. data/spec/support/static/git-scm.com/book/en/v2/images/blink-04-pr-comment.png +0 -0
  496. data/spec/support/static/git-scm.com/book/en/v2/images/blink-05-general-comment.png +0 -0
  497. data/spec/support/static/git-scm.com/book/en/v2/images/blink-06-final.png +0 -0
  498. data/spec/support/static/git-scm.com/book/en/v2/images/branch-and-history.png +0 -0
  499. data/spec/support/static/git-scm.com/book/en/v2/images/branch_widget_mac.png +0 -0
  500. data/spec/support/static/git-scm.com/book/en/v2/images/branch_widget_win.png +0 -0
  501. data/spec/support/static/git-scm.com/book/en/v2/images/centralized.png +0 -0
  502. data/spec/support/static/git-scm.com/book/en/v2/images/centralized_workflow.png +0 -0
  503. data/spec/support/static/git-scm.com/book/en/v2/images/checkout-master.png +0 -0
  504. data/spec/support/static/git-scm.com/book/en/v2/images/clean.png +0 -0
  505. data/spec/support/static/git-scm.com/book/en/v2/images/collaborators.png +0 -0
  506. data/spec/support/static/git-scm.com/book/en/v2/images/commit-and-tree.png +0 -0
  507. data/spec/support/static/git-scm.com/book/en/v2/images/commits-and-parents.png +0 -0
  508. data/spec/support/static/git-scm.com/book/en/v2/images/data-model-1.png +0 -0
  509. data/spec/support/static/git-scm.com/book/en/v2/images/data-model-2.png +0 -0
  510. data/spec/support/static/git-scm.com/book/en/v2/images/data-model-3.png +0 -0
  511. data/spec/support/static/git-scm.com/book/en/v2/images/data-model-4.png +0 -0
  512. data/spec/support/static/git-scm.com/book/en/v2/images/deltas.png +0 -0
  513. data/spec/support/static/git-scm.com/book/en/v2/images/distributed.png +0 -0
  514. data/spec/support/static/git-scm.com/book/en/v2/images/double-dot.png +0 -0
  515. data/spec/support/static/git-scm.com/book/en/v2/images/email-settings.png +0 -0
  516. data/spec/support/static/git-scm.com/book/en/v2/images/forkbutton.png +0 -0
  517. data/spec/support/static/git-scm.com/book/en/v2/images/git-bash.png +0 -0
  518. data/spec/support/static/git-scm.com/book/en/v2/images/git-diff-check.png +0 -0
  519. data/spec/support/static/git-scm.com/book/en/v2/images/git-fusion-boot.png +0 -0
  520. data/spec/support/static/git-scm.com/book/en/v2/images/git-fusion-perforce-graph.png +0 -0
  521. data/spec/support/static/git-scm.com/book/en/v2/images/git-gui.png +0 -0
  522. data/spec/support/static/git-scm.com/book/en/v2/images/git-instaweb.png +0 -0
  523. data/spec/support/static/git-scm.com/book/en/v2/images/git-osx-installer.png +0 -0
  524. data/spec/support/static/git-scm.com/book/en/v2/images/github_mac.png +0 -0
  525. data/spec/support/static/git-scm.com/book/en/v2/images/github_win.png +0 -0
  526. data/spec/support/static/git-scm.com/book/en/v2/images/gitk.png +0 -0
  527. data/spec/support/static/git-scm.com/book/en/v2/images/gitlab-groups.png +0 -0
  528. data/spec/support/static/git-scm.com/book/en/v2/images/gitlab-menu.png +0 -0
  529. data/spec/support/static/git-scm.com/book/en/v2/images/gitlab-users.png +0 -0
  530. data/spec/support/static/git-scm.com/book/en/v2/images/head-to-master.png +0 -0
  531. data/spec/support/static/git-scm.com/book/en/v2/images/head-to-testing.png +0 -0
  532. data/spec/support/static/git-scm.com/book/en/v2/images/integration-manager.png +0 -0
  533. data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-1.png +0 -0
  534. data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-2.png +0 -0
  535. data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-3.png +0 -0
  536. data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-4.png +0 -0
  537. data/spec/support/static/git-scm.com/book/en/v2/images/interesting-rebase-5.png +0 -0
  538. data/spec/support/static/git-scm.com/book/en/v2/images/jb.png +0 -0
  539. data/spec/support/static/git-scm.com/book/en/v2/images/large-merges-1.png +0 -0
  540. data/spec/support/static/git-scm.com/book/en/v2/images/large-merges-2.png +0 -0
  541. data/spec/support/static/git-scm.com/book/en/v2/images/lifecycle.png +0 -0
  542. data/spec/support/static/git-scm.com/book/en/v2/images/local.png +0 -0
  543. data/spec/support/static/git-scm.com/book/en/v2/images/lr-branches-1.png +0 -0
  544. data/spec/support/static/git-scm.com/book/en/v2/images/lr-branches-2.png +0 -0
  545. data/spec/support/static/git-scm.com/book/en/v2/images/maint-01-email.png +0 -0
  546. data/spec/support/static/git-scm.com/book/en/v2/images/maint-02-merge.png +0 -0
  547. data/spec/support/static/git-scm.com/book/en/v2/images/maint-03-email-resp.png +0 -0
  548. data/spec/support/static/git-scm.com/book/en/v2/images/maint-04-target.png +0 -0
  549. data/spec/support/static/git-scm.com/book/en/v2/images/maint-05-mentions.png +0 -0
  550. data/spec/support/static/git-scm.com/book/en/v2/images/maint-06-unsubscribe.png +0 -0
  551. data/spec/support/static/git-scm.com/book/en/v2/images/maint-07-notifications.png +0 -0
  552. data/spec/support/static/git-scm.com/book/en/v2/images/maint-08-notifications-page.png +0 -0
  553. data/spec/support/static/git-scm.com/book/en/v2/images/maint-09-contrib.png +0 -0
  554. data/spec/support/static/git-scm.com/book/en/v2/images/maint-10-default-branch.png +0 -0
  555. data/spec/support/static/git-scm.com/book/en/v2/images/maint-11-transfer.png +0 -0
  556. data/spec/support/static/git-scm.com/book/en/v2/images/managed-team-1.png +0 -0
  557. data/spec/support/static/git-scm.com/book/en/v2/images/managed-team-2.png +0 -0
  558. data/spec/support/static/git-scm.com/book/en/v2/images/managed-team-3.png +0 -0
  559. data/spec/support/static/git-scm.com/book/en/v2/images/managed-team-flow.png +0 -0
  560. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-01-example.png +0 -0
  561. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-02-tasks.png +0 -0
  562. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-03-task-summary.png +0 -0
  563. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-04-fenced-code.png +0 -0
  564. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-05-quote.png +0 -0
  565. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-06-emoji-complete.png +0 -0
  566. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-07-emoji.png +0 -0
  567. data/spec/support/static/git-scm.com/book/en/v2/images/markdown-08-drag-drop.png +0 -0
  568. data/spec/support/static/git-scm.com/book/en/v2/images/mentions-01-syntax.png +0 -0
  569. data/spec/support/static/git-scm.com/book/en/v2/images/mentions-02-render.png +0 -0
  570. data/spec/support/static/git-scm.com/book/en/v2/images/mentions-03-closed.png +0 -0
  571. data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-1.png +0 -0
  572. data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-2.png +0 -0
  573. data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-3.png +0 -0
  574. data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-4.png +0 -0
  575. data/spec/support/static/git-scm.com/book/en/v2/images/merging-workflows-5.png +0 -0
  576. data/spec/support/static/git-scm.com/book/en/v2/images/new-repo.png +0 -0
  577. data/spec/support/static/git-scm.com/book/en/v2/images/neworg.png +0 -0
  578. data/spec/support/static/git-scm.com/book/en/v2/images/newrepo.png +0 -0
  579. data/spec/support/static/git-scm.com/book/en/v2/images/newrepoform.png +0 -0
  580. data/spec/support/static/git-scm.com/book/en/v2/images/orgs-01-page.png +0 -0
  581. data/spec/support/static/git-scm.com/book/en/v2/images/orgs-02-teams.png +0 -0
  582. data/spec/support/static/git-scm.com/book/en/v2/images/orgs-03-audit.png +0 -0
  583. data/spec/support/static/git-scm.com/book/en/v2/images/p4merge.png +0 -0
  584. data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-1.png +0 -0
  585. data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-2.png +0 -0
  586. data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-3.png +0 -0
  587. data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-4.png +0 -0
  588. data/spec/support/static/git-scm.com/book/en/v2/images/perils-of-rebasing-5.png +0 -0
  589. data/spec/support/static/git-scm.com/book/en/v2/images/posh-git.png +0 -0
  590. data/spec/support/static/git-scm.com/book/en/v2/images/pr-01-fail.png +0 -0
  591. data/spec/support/static/git-scm.com/book/en/v2/images/pr-02-merge-fix.png +0 -0
  592. data/spec/support/static/git-scm.com/book/en/v2/images/public-small-1.png +0 -0
  593. data/spec/support/static/git-scm.com/book/en/v2/images/public-small-2.png +0 -0
  594. data/spec/support/static/git-scm.com/book/en/v2/images/public-small-3.png +0 -0
  595. data/spec/support/static/git-scm.com/book/en/v2/images/rebasing-1.png +0 -0
  596. data/spec/support/static/git-scm.com/book/en/v2/images/rebasing-2.png +0 -0
  597. data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-1.png +0 -0
  598. data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-2.png +0 -0
  599. data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-3.png +0 -0
  600. data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-4.png +0 -0
  601. data/spec/support/static/git-scm.com/book/en/v2/images/remote-branches-5.png +0 -0
  602. data/spec/support/static/git-scm.com/book/en/v2/images/replace1.png +0 -0
  603. data/spec/support/static/git-scm.com/book/en/v2/images/replace2.png +0 -0
  604. data/spec/support/static/git-scm.com/book/en/v2/images/replace3.png +0 -0
  605. data/spec/support/static/git-scm.com/book/en/v2/images/replace4.png +0 -0
  606. data/spec/support/static/git-scm.com/book/en/v2/images/replace5.png +0 -0
  607. data/spec/support/static/git-scm.com/book/en/v2/images/reposettingslink.png +0 -0
  608. data/spec/support/static/git-scm.com/book/en/v2/images/rerere1.png +0 -0
  609. data/spec/support/static/git-scm.com/book/en/v2/images/rerere2.png +0 -0
  610. data/spec/support/static/git-scm.com/book/en/v2/images/rerere3.png +0 -0
  611. data/spec/support/static/git-scm.com/book/en/v2/images/reset-checkout.png +0 -0
  612. data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex1.png +0 -0
  613. data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex2.png +0 -0
  614. data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex3.png +0 -0
  615. data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex4.png +0 -0
  616. data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex5.png +0 -0
  617. data/spec/support/static/git-scm.com/book/en/v2/images/reset-ex6.png +0 -0
  618. data/spec/support/static/git-scm.com/book/en/v2/images/reset-hard.png +0 -0
  619. data/spec/support/static/git-scm.com/book/en/v2/images/reset-mixed.png +0 -0
  620. data/spec/support/static/git-scm.com/book/en/v2/images/reset-path1.png +0 -0
  621. data/spec/support/static/git-scm.com/book/en/v2/images/reset-path2.png +0 -0
  622. data/spec/support/static/git-scm.com/book/en/v2/images/reset-path3.png +0 -0
  623. data/spec/support/static/git-scm.com/book/en/v2/images/reset-soft.png +0 -0
  624. data/spec/support/static/git-scm.com/book/en/v2/images/reset-squash-r1.png +0 -0
  625. data/spec/support/static/git-scm.com/book/en/v2/images/reset-squash-r2.png +0 -0
  626. data/spec/support/static/git-scm.com/book/en/v2/images/reset-squash-r3.png +0 -0
  627. data/spec/support/static/git-scm.com/book/en/v2/images/reset-start.png +0 -0
  628. data/spec/support/static/git-scm.com/book/en/v2/images/reset-workflow.png +0 -0
  629. data/spec/support/static/git-scm.com/book/en/v2/images/scripting-01-services.png +0 -0
  630. data/spec/support/static/git-scm.com/book/en/v2/images/scripting-02-email-service.png +0 -0
  631. data/spec/support/static/git-scm.com/book/en/v2/images/scripting-03-webhook.png +0 -0
  632. data/spec/support/static/git-scm.com/book/en/v2/images/scripting-04-webhook-debug.png +0 -0
  633. data/spec/support/static/git-scm.com/book/en/v2/images/scripting-05-access-token.png +0 -0
  634. data/spec/support/static/git-scm.com/book/en/v2/images/scripting-06-comment.png +0 -0
  635. data/spec/support/static/git-scm.com/book/en/v2/images/scripting-07-status.png +0 -0
  636. data/spec/support/static/git-scm.com/book/en/v2/images/signup.png +0 -0
  637. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-1.png +0 -0
  638. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-2.png +0 -0
  639. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-3.png +0 -0
  640. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-4.png +0 -0
  641. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-5.png +0 -0
  642. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-6.png +0 -0
  643. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-7.png +0 -0
  644. data/spec/support/static/git-scm.com/book/en/v2/images/small-team-flow.png +0 -0
  645. data/spec/support/static/git-scm.com/book/en/v2/images/smudge.png +0 -0
  646. data/spec/support/static/git-scm.com/book/en/v2/images/snapshots.png +0 -0
  647. data/spec/support/static/git-scm.com/book/en/v2/images/ssh-keys.png +0 -0
  648. data/spec/support/static/git-scm.com/book/en/v2/images/topic-branches-1.png +0 -0
  649. data/spec/support/static/git-scm.com/book/en/v2/images/topic-branches-2.png +0 -0
  650. data/spec/support/static/git-scm.com/book/en/v2/images/two-branches.png +0 -0
  651. data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-reset.png +0 -0
  652. data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-revert.png +0 -0
  653. data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-revert2.png +0 -0
  654. data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-revert3.png +0 -0
  655. data/spec/support/static/git-scm.com/book/en/v2/images/undomerge-start.png +0 -0
  656. data/spec/support/static/git-scm.com/book/en/v2/images/your-profile.png +0 -0
  657. data/spec/support/static/git-scm.com/book/en/v2/images/zsh-oh-my.png +0 -0
  658. data/spec/support/static/git-scm.com/book/en/v2/images/zsh-prompt.png +0 -0
  659. data/spec/support/static/git-scm.com/book/en/v2.html +0 -688
  660. data/spec/support/static/git-scm.com/favicon.ico +0 -0
  661. data/spec/support/static/git-scm.com/images/bg/body.jpg +0 -0
  662. data/spec/support/static/git-scm.com/images/bg/isometric-grid.png +0 -0
  663. data/spec/support/static/git-scm.com/images/bg/isometric-grid@2x.png +0 -0
  664. data/spec/support/static/git-scm.com/images/bg/search-header.jpg +0 -0
  665. data/spec/support/static/git-scm.com/images/company-project-logos/android.png +0 -0
  666. data/spec/support/static/git-scm.com/images/company-project-logos/android@2x.png +0 -0
  667. data/spec/support/static/git-scm.com/images/company-project-logos/eclipse.png +0 -0
  668. data/spec/support/static/git-scm.com/images/company-project-logos/eclipse@2x.png +0 -0
  669. data/spec/support/static/git-scm.com/images/company-project-logos/facebook.png +0 -0
  670. data/spec/support/static/git-scm.com/images/company-project-logos/facebook@2x.png +0 -0
  671. data/spec/support/static/git-scm.com/images/company-project-logos/gnome.png +0 -0
  672. data/spec/support/static/git-scm.com/images/company-project-logos/gnome@2x.png +0 -0
  673. data/spec/support/static/git-scm.com/images/company-project-logos/google.png +0 -0
  674. data/spec/support/static/git-scm.com/images/company-project-logos/google@2x.png +0 -0
  675. data/spec/support/static/git-scm.com/images/company-project-logos/kde.png +0 -0
  676. data/spec/support/static/git-scm.com/images/company-project-logos/kde@2x.png +0 -0
  677. data/spec/support/static/git-scm.com/images/company-project-logos/linked-in.png +0 -0
  678. data/spec/support/static/git-scm.com/images/company-project-logos/linked-in@2x.png +0 -0
  679. data/spec/support/static/git-scm.com/images/company-project-logos/linux.png +0 -0
  680. data/spec/support/static/git-scm.com/images/company-project-logos/linux@2x.png +0 -0
  681. data/spec/support/static/git-scm.com/images/company-project-logos/microsoft.png +0 -0
  682. data/spec/support/static/git-scm.com/images/company-project-logos/microsoft@2x.png +0 -0
  683. data/spec/support/static/git-scm.com/images/company-project-logos/netflix.png +0 -0
  684. data/spec/support/static/git-scm.com/images/company-project-logos/netflix@2x.png +0 -0
  685. data/spec/support/static/git-scm.com/images/company-project-logos/perl.png +0 -0
  686. data/spec/support/static/git-scm.com/images/company-project-logos/perl@2x.png +0 -0
  687. data/spec/support/static/git-scm.com/images/company-project-logos/postgresql.png +0 -0
  688. data/spec/support/static/git-scm.com/images/company-project-logos/postgresql@2x.png +0 -0
  689. data/spec/support/static/git-scm.com/images/company-project-logos/qt.png +0 -0
  690. data/spec/support/static/git-scm.com/images/company-project-logos/qt@2x.png +0 -0
  691. data/spec/support/static/git-scm.com/images/company-project-logos/rails.png +0 -0
  692. data/spec/support/static/git-scm.com/images/company-project-logos/rails@2x.png +0 -0
  693. data/spec/support/static/git-scm.com/images/company-project-logos/twitter.png +0 -0
  694. data/spec/support/static/git-scm.com/images/company-project-logos/twitter@2x.png +0 -0
  695. data/spec/support/static/git-scm.com/images/company-project-logos/x.png +0 -0
  696. data/spec/support/static/git-scm.com/images/company-project-logos/x@2x.png +0 -0
  697. data/spec/support/static/git-scm.com/images/epub.png +0 -0
  698. data/spec/support/static/git-scm.com/images/icons/admin-sm.png +0 -0
  699. data/spec/support/static/git-scm.com/images/icons/admin-sm@2x.png +0 -0
  700. data/spec/support/static/git-scm.com/images/icons/apple.png +0 -0
  701. data/spec/support/static/git-scm.com/images/icons/apple@2x.png +0 -0
  702. data/spec/support/static/git-scm.com/images/icons/book.png +0 -0
  703. data/spec/support/static/git-scm.com/images/icons/book@2x.png +0 -0
  704. data/spec/support/static/git-scm.com/images/icons/box.png +0 -0
  705. data/spec/support/static/git-scm.com/images/icons/box@2x.png +0 -0
  706. data/spec/support/static/git-scm.com/images/icons/branch-sm.png +0 -0
  707. data/spec/support/static/git-scm.com/images/icons/branch-sm@2x.png +0 -0
  708. data/spec/support/static/git-scm.com/images/icons/camera-sm.png +0 -0
  709. data/spec/support/static/git-scm.com/images/icons/camera-sm@2x.png +0 -0
  710. data/spec/support/static/git-scm.com/images/icons/chevron-up@2x.png +0 -0
  711. data/spec/support/static/git-scm.com/images/icons/code.png +0 -0
  712. data/spec/support/static/git-scm.com/images/icons/code@2x.png +0 -0
  713. data/spec/support/static/git-scm.com/images/icons/debugging-sm.png +0 -0
  714. data/spec/support/static/git-scm.com/images/icons/debugging-sm@2x.png +0 -0
  715. data/spec/support/static/git-scm.com/images/icons/document.png +0 -0
  716. data/spec/support/static/git-scm.com/images/icons/document@2x.png +0 -0
  717. data/spec/support/static/git-scm.com/images/icons/download.png +0 -0
  718. data/spec/support/static/git-scm.com/images/icons/email-sm.png +0 -0
  719. data/spec/support/static/git-scm.com/images/icons/email-sm@2x.png +0 -0
  720. data/spec/support/static/git-scm.com/images/icons/external-sm.png +0 -0
  721. data/spec/support/static/git-scm.com/images/icons/external-sm@2x.png +0 -0
  722. data/spec/support/static/git-scm.com/images/icons/gui.png +0 -0
  723. data/spec/support/static/git-scm.com/images/icons/gui@2x.png +0 -0
  724. data/spec/support/static/git-scm.com/images/icons/info.png +0 -0
  725. data/spec/support/static/git-scm.com/images/icons/info@2x.png +0 -0
  726. data/spec/support/static/git-scm.com/images/icons/inspection-sm.png +0 -0
  727. data/spec/support/static/git-scm.com/images/icons/inspection-sm@2x.png +0 -0
  728. data/spec/support/static/git-scm.com/images/icons/linux.png +0 -0
  729. data/spec/support/static/git-scm.com/images/icons/linux@2x.png +0 -0
  730. data/spec/support/static/git-scm.com/images/icons/nav-circles.png +0 -0
  731. data/spec/support/static/git-scm.com/images/icons/nav-circles@2x.png +0 -0
  732. data/spec/support/static/git-scm.com/images/icons/patching-sm.png +0 -0
  733. data/spec/support/static/git-scm.com/images/icons/patching-sm@2x.png +0 -0
  734. data/spec/support/static/git-scm.com/images/icons/plumbing-sm.png +0 -0
  735. data/spec/support/static/git-scm.com/images/icons/plumbing-sm@2x.png +0 -0
  736. data/spec/support/static/git-scm.com/images/icons/projects-sm.png +0 -0
  737. data/spec/support/static/git-scm.com/images/icons/projects-sm@2x.png +0 -0
  738. data/spec/support/static/git-scm.com/images/icons/search.png +0 -0
  739. data/spec/support/static/git-scm.com/images/icons/search@2x.png +0 -0
  740. data/spec/support/static/git-scm.com/images/icons/server-admin-sm.png +0 -0
  741. data/spec/support/static/git-scm.com/images/icons/server-admin-sm@2x.png +0 -0
  742. data/spec/support/static/git-scm.com/images/icons/setup-sm.png +0 -0
  743. data/spec/support/static/git-scm.com/images/icons/setup-sm@2x.png +0 -0
  744. data/spec/support/static/git-scm.com/images/icons/sharing-sm.png +0 -0
  745. data/spec/support/static/git-scm.com/images/icons/sharing-sm@2x.png +0 -0
  746. data/spec/support/static/git-scm.com/images/icons/sidebar.png +0 -0
  747. data/spec/support/static/git-scm.com/images/icons/sidebar@2x.png +0 -0
  748. data/spec/support/static/git-scm.com/images/icons/source-code.png +0 -0
  749. data/spec/support/static/git-scm.com/images/icons/source-code@2x.png +0 -0
  750. data/spec/support/static/git-scm.com/images/icons/windows.png +0 -0
  751. data/spec/support/static/git-scm.com/images/icons/windows@2x.png +0 -0
  752. data/spec/support/static/git-scm.com/images/logo@2x.png +0 -0
  753. data/spec/support/static/git-scm.com/images/mobi.png +0 -0
  754. data/spec/support/static/git-scm.com/images/monitor-default.png +0 -0
  755. data/spec/support/static/git-scm.com/images/monitor-default@2x.png +0 -0
  756. data/spec/support/static/git-scm.com/images/monitor-linux.png +0 -0
  757. data/spec/support/static/git-scm.com/images/monitor-linux@2x.png +0 -0
  758. data/spec/support/static/git-scm.com/images/monitor-mac.png +0 -0
  759. data/spec/support/static/git-scm.com/images/monitor-mac@2x.png +0 -0
  760. data/spec/support/static/git-scm.com/images/monitor-windows.png +0 -0
  761. data/spec/support/static/git-scm.com/images/monitor-windows@2x.png +0 -0
  762. data/spec/support/static/git-scm.com/images/pdf.png +0 -0
  763. data/spec/support/static/git-scm.com/images/progit2.png +0 -0
  764. data/spec/support/static/git-scm.com/images/sidebar-divider.png +0 -0
  765. data/spec/support/static/git-scm.com/images/sidebar-divider@2x.png +0 -0
  766. data/spec/support/static/git-scm.com/robots.txt +0 -0
  767. data/spec/support/static/graph/details/a.html +0 -10
  768. data/spec/support/static/graph/details/b.html +0 -10
  769. data/spec/support/static/graph/index.html +0 -20
  770. data/spec/support/static/links/links.html +0 -28
  771. data/docs/{reference → guides}/cli.md +0 -0
  772. data/spec/{stringify_spec.rb → wayfarer/stringify_spec.rb} +2 -2
  773. /data/spec/{task_spec.rb → wayfarer/task_spec.rb} +0 -0
@@ -1,998 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
-
4
- <head>
5
- <!-- Global site tag (gtag.js) - Google Analytics -->
6
- <script async src="https://www.googletagmanager.com/gtag/js?id=UA-49925874-3"></script>
7
- <script>
8
- window.dataLayer = window.dataLayer || [];
9
- function gtag(){dataLayer.push(arguments);}
10
- gtag('js', new Date());
11
-
12
- gtag('config', 'UA-49925874-3');
13
- </script>
14
-
15
- <meta charset='utf-8'>
16
- <meta content='IE=edge,chrome=1' http-equiv='X-UA-Compatible'>
17
- <meta name="viewport" content="width=device-width, initial-scale=1">
18
- <title>Git - Undoing Things</title>
19
-
20
- <link href='../../../../favicon.ico' rel='shortcut icon' type='image/x-icon'>
21
-
22
- <link rel="stylesheet" media="screen" href="../../../../assets/application-cafcf280f67db0e6d8168ba98a38da878769a9d5f37793b68ffb963a02d185e0.css" />
23
- <script src="../../../../assets/modernize-b3ebe0c31c24f230dc62179d3e1030d2e57a53b1668d9382c0a27dbd44a94beb.js"></script>
24
- <!--[if (gte IE 6)&(lte IE 8)]>
25
- <script src="/javascripts/selectivizr-min.js"></script>
26
- <![endif]-->
27
-
28
- </head>
29
-
30
- <body id="documentation">
31
-
32
- <div class="inner">
33
- <header>
34
-
35
- <a href="https://git-scm.com/"><img src="../../../../images/logo@2x.png" width="110" height="46" alt="Git" /></a>
36
- <span id="tagline"></span>
37
- <script type="text/javascript">
38
- var taglines = ["fast-version-control","everything-is-local","distributed-even-if-your-workflow-isnt","local-branching-on-the-cheap","distributed-is-the-new-centralized"];
39
- var tagline = taglines[Math.floor(Math.random() * taglines.length)];
40
- document.getElementById('tagline').innerHTML = '--' + tagline;
41
- </script>
42
- <form id="search" action="https://git-scm.com/search/results">
43
- <input id="search-text" name="search" placeholder="Search entire site..." autocomplete="off" type="text" />
44
- </form>
45
- <div id="search-results"></div>
46
-
47
- </header>
48
-
49
- </div> <!-- .inner -->
50
-
51
- <div class="inner">
52
- <div id="content-wrapper">
53
- <button class="sidebar-btn"></button>
54
- <aside class="sidebar" id="sidebar">
55
- <nav>
56
- <ul>
57
- <li>
58
- <a href="https://git-scm.com/about">About</a>
59
- <ul class="">
60
- <li>
61
- <a href="https://git-scm.com/about">Branching and Merging</a>
62
- </li>
63
- <li>
64
- <a href="https://git-scm.com/about/small-and-fast">Small and Fast</a>
65
- </li>
66
- <li>
67
- <a href="https://git-scm.com/about/distributed">Distributed</a>
68
- </li>
69
- <li>
70
- <a href="https://git-scm.com/about/info-assurance">Data Assurance</a>
71
- </li>
72
- <li>
73
- <a href="https://git-scm.com/about/staging-area">Staging Area</a>
74
- </li>
75
- <li>
76
- <a href="https://git-scm.com/about/free-and-open-source">Free and Open Source</a>
77
- </li>
78
- <li>
79
- <a href="https://git-scm.com/about/trademark">Trademark</a>
80
- </li>
81
- </ul>
82
- </li>
83
- <li>
84
- <a class="active" href="https://git-scm.com/doc">Documentation</a>
85
- <ul class="expanded">
86
- <li>
87
- <a href="https://git-scm.com/docs">Reference</a>
88
- </li>
89
- <li>
90
- <a class="active" href="https://git-scm.com/book">Book</a>
91
- </li>
92
- <li>
93
- <a href="https://git-scm.com/videos">Videos</a>
94
- </li>
95
- <li>
96
- <a href="https://git-scm.com/doc/ext">External Links</a>
97
- </li>
98
- </ul>
99
- </li>
100
- <li>
101
- <a href="https://git-scm.com/downloads">Downloads</a>
102
- <ul class="">
103
- <li>
104
- <a href="https://git-scm.com/downloads/guis">GUI Clients</a>
105
- </li>
106
- <li>
107
- <a href="https://git-scm.com/downloads/logos">Logos</a>
108
- </li>
109
- </ul>
110
- </li>
111
- <li>
112
- <a href="https://git-scm.com/community">Community</a>
113
- </li>
114
- </ul>
115
- <hr class="sidebar">
116
- <p>
117
- This book is available in
118
- <a href="https://git-scm.com/book/en">English</a>.
119
- </p>
120
- <p>
121
- Full translation available in
122
- <table>
123
- <tr><td><a href="https://git-scm.com/book/az">azərbaycan dili</a>,</td></tr>
124
- <tr><td><a href="https://git-scm.com/book/bg">български език</a>,</td></tr>
125
- <tr><td><a href="https://git-scm.com/book/de">Deutsch</a>,</td></tr>
126
- <tr><td><a href="https://git-scm.com/book/es">Español</a>,</td></tr>
127
- <tr><td><a href="https://git-scm.com/book/fr">Français</a>,</td></tr>
128
- <tr><td><a href="https://git-scm.com/book/gr">Ελληνικά</a>,</td></tr>
129
- <tr><td><a href="https://git-scm.com/book/ja">日本語</a>,</td></tr>
130
- <tr><td><a href="https://git-scm.com/book/ko">한국어</a>,</td></tr>
131
- <tr><td><a href="https://git-scm.com/book/nl">Nederlands</a>,</td></tr>
132
- <tr><td><a href="https://git-scm.com/book/ru">Русский</a>,</td></tr>
133
- <tr><td><a href="https://git-scm.com/book/sl">Slovenščina</a>,</td></tr>
134
- <tr><td><a href="https://git-scm.com/book/tl">Tagalog</a>,</td></tr>
135
- <tr><td><a href="https://git-scm.com/book/uk">Українська</a></td></tr>
136
- <tr><td><a href="https://git-scm.com/book/zh">简体中文</a>,</td></tr>
137
- </table>
138
- </p>
139
- <p>
140
- Partial translations available in
141
- <table>
142
- <tr><td><a href="https://git-scm.com/book/cs">Čeština</a>,</td></tr>
143
- <tr><td><a href="https://git-scm.com/book/mk">Македонски</a>,</td></tr>
144
- <tr><td><a href="https://git-scm.com/book/pl">Polski</a>,</td></tr>
145
- <tr><td><a href="https://git-scm.com/book/sr">Српски</a>,</td></tr>
146
- <tr><td><a href="https://git-scm.com/book/uz">Ўзбекча</a>,</td></tr>
147
- <tr><td><a href="https://git-scm.com/book/zh-tw">繁體中文</a>,</td></tr>
148
- </table>
149
- </p>
150
- <p>
151
- Translations started for
152
- <table>
153
- <tr><td><a href="https://git-scm.com/book/be">Беларуская</a>,</td></tr>
154
- <tr><td><a href="https://git-scm.com/book/fa" dir="rtl">فارسی</a>,</td></tr>
155
- <tr><td><a href="https://git-scm.com/book/id">Indonesian</a>,</td></tr>
156
- <tr><td><a href="https://git-scm.com/book/it">Italiano</a>,</td></tr>
157
- <tr><td><a href="https://git-scm.com/book/ms">Bahasa Melayu</a>,</td></tr>
158
- <tr><td><a href="https://git-scm.com/book/pt-br">Português (Brasil)</a>,</td></tr>
159
- <tr><td><a href="https://git-scm.com/book/pt-pt">Português (Portugal)</a>,</td></tr>
160
- <tr><td><a href="https://git-scm.com/book/sv">Svenska</a>,</td></tr>
161
- <tr><td><a href="https://git-scm.com/book/tr">Türkçe</a>.</td></tr>
162
- </table>
163
- </p>
164
- <hr class="sidebar"/>
165
- <p>
166
- The source of this book is <a href="https://github.com/progit/progit2">hosted on GitHub.</a></br>
167
- Patches, suggestions and comments are welcome.
168
- </p>
169
-
170
-
171
- </nav>
172
- </aside>
173
-
174
- <div id="content">
175
-
176
-
177
- <div id='book-chapters'>
178
- <a class="dropdown-trigger" id="book-chapters-trigger" data-panel-id="chapters-dropdown" href="_unstaging.html#">Chapters ▾</a>
179
- <div class='dropdown-panel' id='chapters-dropdown'>
180
- <div class="three-column">
181
- <div class='column-left'>
182
- <ol class='book-toc'>
183
- <li class='chapter'>
184
- <h2>1. <a href="ch01-getting-started.html">Getting Started</a></h2>
185
- <ol>
186
- <li>
187
- 1.1
188
- <a href="ch01-getting-started.html" >About Version Control </a>
189
- </li>
190
- <li>
191
- 1.2
192
- <a href="../Getting-Started-A-Short-History-of-Git.html" >A Short History of Git </a>
193
- </li>
194
- <li>
195
- 1.3
196
- <a href="what_is_git_section.html" >What is Git? </a>
197
- </li>
198
- <li>
199
- 1.4
200
- <a href="../Getting-Started-The-Command-Line.html" >The Command Line </a>
201
- </li>
202
- <li>
203
- 1.5
204
- <a href="../Getting-Started-Installing-Git.html" >Installing Git </a>
205
- </li>
206
- <li>
207
- 1.6
208
- <a href="_editor.html" >First-Time Git Setup </a>
209
- </li>
210
- <li>
211
- 1.7
212
- <a href="_git_help.html" >Getting Help </a>
213
- </li>
214
- <li>
215
- 1.8
216
- <a href="../Getting-Started-Summary.html" >Summary </a>
217
- </li>
218
- </ol>
219
- </li>
220
- <li class='chapter'>
221
- <h2>2. <a href="_git_cloning.html">Git Basics</a></h2>
222
- <ol>
223
- <li>
224
- 2.1
225
- <a href="_git_cloning.html" >Getting a Git Repository </a>
226
- </li>
227
- <li>
228
- 2.2
229
- <a href="_git_mv.html" >Recording Changes to the Repository </a>
230
- </li>
231
- <li>
232
- 2.3
233
- <a href="_viewing_history.html" >Viewing the Commit History </a>
234
- </li>
235
- <li>
236
- 2.4
237
- <a href="_unstaging.html" class=active>Undoing Things </a>
238
- </li>
239
- <li>
240
- 2.5
241
- <a href="_remote_repos.html" >Working with Remotes </a>
242
- </li>
243
- <li>
244
- 2.6
245
- <a href="_annotated_tags.html" >Tagging </a>
246
- </li>
247
- <li>
248
- 2.7
249
- <a href="_git_aliases.html" >Git Aliases </a>
250
- </li>
251
- <li>
252
- 2.8
253
- <a href="../Git-Basics-Summary.html" >Summary </a>
254
- </li>
255
- </ol>
256
- </li>
257
- <li class='chapter'>
258
- <h2>3. <a href="_switching_branches.html">Git Branching</a></h2>
259
- <ol>
260
- <li>
261
- 3.1
262
- <a href="_switching_branches.html" >Branches in a Nutshell </a>
263
- </li>
264
- <li>
265
- 3.2
266
- <a href="_basic_branching.html" >Basic Branching and Merging </a>
267
- </li>
268
- <li>
269
- 3.3
270
- <a href="_branch_management.html" >Branch Management </a>
271
- </li>
272
- <li>
273
- 3.4
274
- <a href="_topic_branch.html" >Branching Workflows </a>
275
- </li>
276
- <li>
277
- 3.5
278
- <a href="_delete_branches.html" >Remote Branches </a>
279
- </li>
280
- <li>
281
- 3.6
282
- <a href="_rebase_rebase.html" >Rebasing </a>
283
- </li>
284
- <li>
285
- 3.7
286
- <a href="../Git-Branching-Summary.html" >Summary </a>
287
- </li>
288
- </ol>
289
- </li>
290
- <li class='chapter'>
291
- <h2>4. <a href="../Git-on-the-Server-The-Protocols.html">Git on the Server</a></h2>
292
- <ol>
293
- <li>
294
- 4.1
295
- <a href="../Git-on-the-Server-The-Protocols.html" >The Protocols </a>
296
- </li>
297
- <li>
298
- 4.2
299
- <a href="_bare_repo.html" >Getting Git on a Server </a>
300
- </li>
301
- <li>
302
- 4.3
303
- <a href="_generate_ssh_key.html" >Generating Your SSH Public Key </a>
304
- </li>
305
- <li>
306
- 4.4
307
- <a href="_setting_up_server.html" >Setting Up the Server </a>
308
- </li>
309
- <li>
310
- 4.5
311
- <a href="../Git-on-the-Server-Git-Daemon.html" >Git Daemon </a>
312
- </li>
313
- <li>
314
- 4.6
315
- <a href="../Git-on-the-Server-Smart-HTTP.html" >Smart HTTP </a>
316
- </li>
317
- <li>
318
- 4.7
319
- <a href="../Git-on-the-Server-GitWeb.html" >GitWeb </a>
320
- </li>
321
- <li>
322
- 4.8
323
- <a href="_gitlab_groups_section.html" >GitLab </a>
324
- </li>
325
- <li>
326
- 4.9
327
- <a href="../Git-on-the-Server-Third-Party-Hosted-Options.html" >Third Party Hosted Options </a>
328
- </li>
329
- <li>
330
- 4.10
331
- <a href="../Git-on-the-Server-Summary.html" >Summary </a>
332
- </li>
333
- </ol>
334
- </li>
335
- <li class='chapter'>
336
- <h2>5. <a href="_integration_manager.html">Distributed Git</a></h2>
337
- <ol>
338
- <li>
339
- 5.1
340
- <a href="_integration_manager.html" >Distributed Workflows </a>
341
- </li>
342
- <li>
343
- 5.2
344
- <a href="_project_over_email.html" >Contributing to a Project </a>
345
- </li>
346
- <li>
347
- 5.3
348
- <a href="_git_am.html" >Maintaining a Project </a>
349
- </li>
350
- <li>
351
- 5.4
352
- <a href="../Distributed-Git-Summary.html" >Summary </a>
353
- </li>
354
- </ol>
355
- </li>
356
- </ol>
357
-
358
- </div>
359
- <div class='column-middle'>
360
- <ol class='book-toc'>
361
- <li class='chapter'>
362
- <h2>6. <a href="_personal_avatar.html">GitHub</a></h2>
363
- <ol>
364
- <li>
365
- 6.1
366
- <a href="_personal_avatar.html" >Account Setup and Configuration </a>
367
- </li>
368
- <li>
369
- 6.2
370
- <a href="_fetch_and_push_on_different_repositories.html" >Contributing to a Project </a>
371
- </li>
372
- <li>
373
- 6.3
374
- <a href="_email_notifications.html" >Maintaining a Project </a>
375
- </li>
376
- <li>
377
- 6.4
378
- <a href="_team_page.html" >Managing an organization </a>
379
- </li>
380
- <li>
381
- 6.5
382
- <a href="_commit_status.html" >Scripting GitHub </a>
383
- </li>
384
- <li>
385
- 6.6
386
- <a href="../GitHub-Summary.html" >Summary </a>
387
- </li>
388
- </ol>
389
- </li>
390
- <li class='chapter'>
391
- <h2>7. <a href="_git_reflog.html">Git Tools</a></h2>
392
- <ol>
393
- <li>
394
- 7.1
395
- <a href="_git_reflog.html" >Revision Selection </a>
396
- </li>
397
- <li>
398
- 7.2
399
- <a href="_interactive_staging.html" >Interactive Staging </a>
400
- </li>
401
- <li>
402
- 7.3
403
- <a href="_git_clean.html" >Stashing and Cleaning </a>
404
- </li>
405
- <li>
406
- 7.4
407
- <a href="_signing_commits.html" >Signing Your Work </a>
408
- </li>
409
- <li>
410
- 7.5
411
- <a href="_git_grep.html" >Searching </a>
412
- </li>
413
- <li>
414
- 7.6
415
- <a href="_removing_file_every_commit.html" >Rewriting History </a>
416
- </li>
417
- <li>
418
- 7.7
419
- <a href="_the_index.html" >Reset Demystified </a>
420
- </li>
421
- <li>
422
- 7.8
423
- <a href="_reverse_commit.html" >Advanced Merging </a>
424
- </li>
425
- <li>
426
- 7.9
427
- <a href="ref_rerere.html" >Rerere </a>
428
- </li>
429
- <li>
430
- 7.10
431
- <a href="_file_annotation.html" >Debugging with Git </a>
432
- </li>
433
- <li>
434
- 7.11
435
- <a href="_publishing_submodules.html" >Submodules </a>
436
- </li>
437
- <li>
438
- 7.12
439
- <a href="_bundling.html" >Bundling </a>
440
- </li>
441
- <li>
442
- 7.13
443
- <a href="_replace.html" >Replace </a>
444
- </li>
445
- <li>
446
- 7.14
447
- <a href="_credential_caching.html" >Credential Storage </a>
448
- </li>
449
- <li>
450
- 7.15
451
- <a href="../Git-Tools-Summary.html" >Summary </a>
452
- </li>
453
- </ol>
454
- </li>
455
- <li class='chapter'>
456
- <h2>8. <a href="_external_merge_tools.html">Customizing Git</a></h2>
457
- <ol>
458
- <li>
459
- 8.1
460
- <a href="_external_merge_tools.html" >Git Configuration </a>
461
- </li>
462
- <li>
463
- 8.2
464
- <a href="_keyword_expansion.html" >Git Attributes </a>
465
- </li>
466
- <li>
467
- 8.3
468
- <a href="_email_hooks.html" >Git Hooks </a>
469
- </li>
470
- <li>
471
- 8.4
472
- <a href="_enforcing_commit_message_format.html" >An Example Git-Enforced Policy </a>
473
- </li>
474
- <li>
475
- 8.5
476
- <a href="../Customizing-Git-Summary.html" >Summary </a>
477
- </li>
478
- </ol>
479
- </li>
480
- <li class='chapter'>
481
- <h2>9. <a href="_git_svn.html">Git and Other Systems</a></h2>
482
- <ol>
483
- <li>
484
- 9.1
485
- <a href="_git_svn.html" >Git as a Client </a>
486
- </li>
487
- <li>
488
- 9.2
489
- <a href="_git_p4.html" >Migrating to Git </a>
490
- </li>
491
- <li>
492
- 9.3
493
- <a href="../Git-and-Other-Systems-Summary.html" >Summary </a>
494
- </li>
495
- </ol>
496
- </li>
497
- <li class='chapter'>
498
- <h2>10. <a href="_plumbing_porcelain.html">Git Internals</a></h2>
499
- <ol>
500
- <li>
501
- 10.1
502
- <a href="_plumbing_porcelain.html" >Plumbing and Porcelain </a>
503
- </li>
504
- <li>
505
- 10.2
506
- <a href="_git_commit_objects.html" >Git Objects </a>
507
- </li>
508
- <li>
509
- 10.3
510
- <a href="ref_the_ref.html" >Git References </a>
511
- </li>
512
- <li>
513
- 10.4
514
- <a href="../Git-Internals-Packfiles.html" >Packfiles </a>
515
- </li>
516
- <li>
517
- 10.5
518
- <a href="_pushing_refspecs.html" >The Refspec </a>
519
- </li>
520
- <li>
521
- 10.6
522
- <a href="../Git-Internals-Transfer-Protocols.html" >Transfer Protocols </a>
523
- </li>
524
- <li>
525
- 10.7
526
- <a href="_git_gc.html" >Maintenance and Data Recovery </a>
527
- </li>
528
- <li>
529
- 10.8
530
- <a href="../Git-Internals-Environment-Variables.html" >Environment Variables </a>
531
- </li>
532
- <li>
533
- 10.9
534
- <a href="../Git-Internals-Summary.html" >Summary </a>
535
- </li>
536
- </ol>
537
- </li>
538
- </ol>
539
-
540
- </div>
541
- <div class='column-right'>
542
- <ol class='book-toc'>
543
- <li class='chapter'>
544
- <h2>A1. <a href="../Appendix-A:-Git-in-Other-Environments-Graphical-Interfaces.html">Appendix A: Git in Other Environments</a></h2>
545
- <ol>
546
- <li>
547
- A1.1
548
- <a href="../Appendix-A:-Git-in-Other-Environments-Graphical-Interfaces.html" >Graphical Interfaces </a>
549
- </li>
550
- <li>
551
- A1.2
552
- <a href="../Appendix-A:-Git-in-Other-Environments-Git-in-Visual-Studio.html" >Git in Visual Studio </a>
553
- </li>
554
- <li>
555
- A1.3
556
- <a href="../Appendix-A:-Git-in-Other-Environments-Git-in-Visual-Studio-Code.html" >Git in Visual Studio Code </a>
557
- </li>
558
- <li>
559
- A1.4
560
- <a href="../Appendix-A:-Git-in-Other-Environments-Git-in-IntelliJ-%252F-PyCharm-%252F-WebStorm-%252F-PhpStorm-%252F-RubyMine.html" >Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine </a>
561
- </li>
562
- <li>
563
- A1.5
564
- <a href="../Appendix-A:-Git-in-Other-Environments-Git-in-Sublime-Text.html" >Git in Sublime Text </a>
565
- </li>
566
- <li>
567
- A1.6
568
- <a href="../Appendix-A:-Git-in-Other-Environments-Git-in-Bash.html" >Git in Bash </a>
569
- </li>
570
- <li>
571
- A1.7
572
- <a href="oh_my_zsh_git.html" >Git in Zsh </a>
573
- </li>
574
- <li>
575
- A1.8
576
- <a href="../Appendix-A:-Git-in-Other-Environments-Git-in-PowerShell.html" >Git in PowerShell </a>
577
- </li>
578
- <li>
579
- A1.9
580
- <a href="../Appendix-A:-Git-in-Other-Environments-Summary.html" >Summary </a>
581
- </li>
582
- </ol>
583
- </li>
584
- <li class='chapter'>
585
- <h2>A2. <a href="../Appendix-B:-Embedding-Git-in-your-Applications-Command-line-Git.html">Appendix B: Embedding Git in your Applications</a></h2>
586
- <ol>
587
- <li>
588
- A2.1
589
- <a href="../Appendix-B:-Embedding-Git-in-your-Applications-Command-line-Git.html" >Command-line Git </a>
590
- </li>
591
- <li>
592
- A2.2
593
- <a href="_libgit2_bindings.html" >Libgit2 </a>
594
- </li>
595
- <li>
596
- A2.3
597
- <a href="../Appendix-B:-Embedding-Git-in-your-Applications-JGit.html" >JGit </a>
598
- </li>
599
- <li>
600
- A2.4
601
- <a href="../Appendix-B:-Embedding-Git-in-your-Applications-go-git.html" >go-git </a>
602
- </li>
603
- <li>
604
- A2.5
605
- <a href="../Appendix-B:-Embedding-Git-in-your-Applications-Dulwich.html" >Dulwich </a>
606
- </li>
607
- </ol>
608
- </li>
609
- <li class='chapter'>
610
- <h2>A3. <a href="ch_core_editor.html">Appendix C: Git Commands</a></h2>
611
- <ol>
612
- <li>
613
- A3.1
614
- <a href="ch_core_editor.html" >Setup and Config </a>
615
- </li>
616
- <li>
617
- A3.2
618
- <a href="../Appendix-C:-Git-Commands-Getting-and-Creating-Projects.html" >Getting and Creating Projects </a>
619
- </li>
620
- <li>
621
- A3.3
622
- <a href="../Appendix-C:-Git-Commands-Basic-Snapshotting.html" >Basic Snapshotting </a>
623
- </li>
624
- <li>
625
- A3.4
626
- <a href="../Appendix-C:-Git-Commands-Branching-and-Merging.html" >Branching and Merging </a>
627
- </li>
628
- <li>
629
- A3.5
630
- <a href="../Appendix-C:-Git-Commands-Sharing-and-Updating-Projects.html" >Sharing and Updating Projects </a>
631
- </li>
632
- <li>
633
- A3.6
634
- <a href="../Appendix-C:-Git-Commands-Inspection-and-Comparison.html" >Inspection and Comparison </a>
635
- </li>
636
- <li>
637
- A3.7
638
- <a href="../Appendix-C:-Git-Commands-Debugging.html" >Debugging </a>
639
- </li>
640
- <li>
641
- A3.8
642
- <a href="../Appendix-C:-Git-Commands-Patching.html" >Patching </a>
643
- </li>
644
- <li>
645
- A3.9
646
- <a href="../Appendix-C:-Git-Commands-Email.html" >Email </a>
647
- </li>
648
- <li>
649
- A3.10
650
- <a href="../Appendix-C:-Git-Commands-External-Systems.html" >External Systems </a>
651
- </li>
652
- <li>
653
- A3.11
654
- <a href="../Appendix-C:-Git-Commands-Administration.html" >Administration </a>
655
- </li>
656
- <li>
657
- A3.12
658
- <a href="../Appendix-C:-Git-Commands-Plumbing-Commands.html" >Plumbing Commands </a>
659
- </li>
660
- </ol>
661
- </li>
662
- </ol>
663
-
664
- </div>
665
- </div>
666
- </div>
667
-
668
- <span class="light" id="edition">
669
- 2nd Edition
670
- </span>
671
- </div>
672
-
673
- <div id='main' class="book edition2">
674
- <h1>2.4 Git Basics - Undoing Things</h1>
675
- <div>
676
- <h2 id="_undoing">Undoing Things</h2>
677
- <div class="paragraph">
678
- <p>At any stage, you may want to undo something.
679
- Here, we’ll review a few basic tools for undoing changes that you’ve made.
680
- Be careful, because you can’t always undo some of these undos.
681
- This is one of the few areas in Git where you may lose some work if you do it wrong.</p>
682
- </div>
683
- <div class="paragraph">
684
- <p>One of the common undos takes place when you commit too early and possibly forget to add some files, or you mess up your commit message.
685
- If you want to redo that commit, make the additional changes you forgot, stage them, and commit again using the <code>--amend</code> option:</p>
686
- </div>
687
- <div class="listingblock">
688
- <div class="content">
689
- <pre class="highlight"><code class="language-console" data-lang="console">$ git commit --amend</code></pre>
690
- </div>
691
- </div>
692
- <div class="paragraph">
693
- <p>This command takes your staging area and uses it for the commit.
694
- If you’ve made no changes since your last commit (for instance, you run this command immediately after your previous commit), then your snapshot will look exactly the same, and all you’ll change is your commit message.</p>
695
- </div>
696
- <div class="paragraph">
697
- <p>The same commit-message editor fires up, but it already contains the message of your previous commit.
698
- You can edit the message the same as always, but it overwrites your previous commit.</p>
699
- </div>
700
- <div class="paragraph">
701
- <p>As an example, if you commit and then realize you forgot to stage the changes in a file you wanted to add to this commit, you can do something like this:</p>
702
- </div>
703
- <div class="listingblock">
704
- <div class="content">
705
- <pre class="highlight"><code class="language-console" data-lang="console">$ git commit -m 'Initial commit'
706
- $ git add forgotten_file
707
- $ git commit --amend</code></pre>
708
- </div>
709
- </div>
710
- <div class="paragraph">
711
- <p>You end up with a single commit — the second commit replaces the results of the first.</p>
712
- </div>
713
- <div class="admonitionblock note">
714
- <table>
715
- <tr>
716
- <td class="icon">
717
- <div class="title">Note</div>
718
- </td>
719
- <td class="content">
720
- <div class="paragraph">
721
- <p>It’s important to understand that when you’re amending your last commit, you’re not so much fixing it as <em>replacing</em> it entirely with a new, improved commit that pushes the old commit out of the way and puts the new commit in its place.
722
- Effectively, it’s as if the previous commit never happened, and it won’t show up in your repository history.</p>
723
- </div>
724
- <div class="paragraph">
725
- <p>The obvious value to amending commits is to make minor improvements to your last commit, without cluttering your repository history with commit messages of the form, “Oops, forgot to add a file” or “Darn, fixing a typo in last commit”.</p>
726
- </div>
727
- </td>
728
- </tr>
729
- </table>
730
- </div>
731
- <div class="admonitionblock note">
732
- <table>
733
- <tr>
734
- <td class="icon">
735
- <div class="title">Note</div>
736
- </td>
737
- <td class="content">
738
- <div class="paragraph">
739
- <p>Only amend commits that are still local and have not been pushed somewhere.
740
- Amending previously pushed commits and force pushing the branch will cause problems for your collaborators.
741
- For more on what happens when you do this and how to recover if you’re on the receiving end read <a href="_rebase_peril.html">The Perils of Rebasing</a>.</p>
742
- </div>
743
- </td>
744
- </tr>
745
- </table>
746
- </div>
747
- <div class="sect3">
748
- <h3 id="_unstaging">Unstaging a Staged File</h3>
749
- <div class="paragraph">
750
- <p>The next two sections demonstrate how to work with your staging area and working directory changes.
751
- The nice part is that the command you use to determine the state of those two areas also reminds you how to undo changes to them.
752
- For example, let’s say you’ve changed two files and want to commit them as two separate changes, but you accidentally type <code>git add *</code> and stage them both.
753
- How can you unstage one of the two?
754
- The <code>git status</code> command reminds you:</p>
755
- </div>
756
- <div class="listingblock">
757
- <div class="content">
758
- <pre class="highlight"><code class="language-console" data-lang="console">$ git add *
759
- $ git status
760
- On branch master
761
- Changes to be committed:
762
- (use "git reset HEAD &lt;file&gt;..." to unstage)
763
-
764
- renamed: README.md -&gt; README
765
- modified: CONTRIBUTING.md</code></pre>
766
- </div>
767
- </div>
768
- <div class="paragraph">
769
- <p>Right below the “Changes to be committed” text, it says use <code>git reset HEAD &lt;file&gt;…​</code> to unstage.
770
- So, let’s use that advice to unstage the <code>CONTRIBUTING.md</code> file:</p>
771
- </div>
772
- <div class="listingblock">
773
- <div class="content">
774
- <pre class="highlight"><code class="language-console" data-lang="console">$ git reset HEAD CONTRIBUTING.md
775
- Unstaged changes after reset:
776
- M CONTRIBUTING.md
777
- $ git status
778
- On branch master
779
- Changes to be committed:
780
- (use "git reset HEAD &lt;file&gt;..." to unstage)
781
-
782
- renamed: README.md -&gt; README
783
-
784
- Changes not staged for commit:
785
- (use "git add &lt;file&gt;..." to update what will be committed)
786
- (use "git checkout -- &lt;file&gt;..." to discard changes in working directory)
787
-
788
- modified: CONTRIBUTING.md</code></pre>
789
- </div>
790
- </div>
791
- <div class="paragraph">
792
- <p>The command is a bit strange, but it works.
793
- The <code>CONTRIBUTING.md</code> file is modified but once again unstaged.</p>
794
- </div>
795
- <div class="admonitionblock note">
796
- <table>
797
- <tr>
798
- <td class="icon">
799
- <div class="title">Note</div>
800
- </td>
801
- <td class="content">
802
- <div class="paragraph">
803
- <p>It’s true that <code>git reset</code> can be a dangerous command, especially if you provide the <code>--hard</code> flag.
804
- However, in the scenario described above, the file in your working directory is not touched, so it’s relatively safe.</p>
805
- </div>
806
- </td>
807
- </tr>
808
- </table>
809
- </div>
810
- <div class="paragraph">
811
- <p>For now this magic invocation is all you need to know about the <code>git reset</code> command.
812
- We’ll go into much more detail about what <code>reset</code> does and how to master it to do really interesting things in <a href="_git_reset.html">Reset Demystified</a>.</p>
813
- </div>
814
- </div>
815
- <div class="sect3">
816
- <h3 id="_unmodifying_a_modified_file">Unmodifying a Modified File</h3>
817
- <div class="paragraph">
818
- <p>What if you realize that you don’t want to keep your changes to the <code>CONTRIBUTING.md</code> file?
819
- How can you easily unmodify it — revert it back to what it looked like when you last committed (or initially cloned, or however you got it into your working directory)?
820
- Luckily, <code>git status</code> tells you how to do that, too.
821
- In the last example output, the unstaged area looks like this:</p>
822
- </div>
823
- <div class="listingblock">
824
- <div class="content">
825
- <pre class="highlight"><code class="language-console" data-lang="console">Changes not staged for commit:
826
- (use "git add &lt;file&gt;..." to update what will be committed)
827
- (use "git checkout -- &lt;file&gt;..." to discard changes in working directory)
828
-
829
- modified: CONTRIBUTING.md</code></pre>
830
- </div>
831
- </div>
832
- <div class="paragraph">
833
- <p>It tells you pretty explicitly how to discard the changes you’ve made.
834
- Let’s do what it says:</p>
835
- </div>
836
- <div class="listingblock">
837
- <div class="content">
838
- <pre class="highlight"><code class="language-console" data-lang="console">$ git checkout -- CONTRIBUTING.md
839
- $ git status
840
- On branch master
841
- Changes to be committed:
842
- (use "git reset HEAD &lt;file&gt;..." to unstage)
843
-
844
- renamed: README.md -&gt; README</code></pre>
845
- </div>
846
- </div>
847
- <div class="paragraph">
848
- <p>You can see that the changes have been reverted.</p>
849
- </div>
850
- <div class="admonitionblock important">
851
- <table>
852
- <tr>
853
- <td class="icon">
854
- <div class="title">Important</div>
855
- </td>
856
- <td class="content">
857
- <div class="paragraph">
858
- <p>It’s important to understand that <code>git checkout -- &lt;file&gt;</code> is a dangerous command.
859
- Any local changes you made to that file are gone — Git just replaced that file with the last staged or committed version.
860
- Don’t ever use this command unless you absolutely know that you don’t want those unsaved local changes.</p>
861
- </div>
862
- </td>
863
- </tr>
864
- </table>
865
- </div>
866
- <div class="paragraph">
867
- <p>If you would like to keep the changes you’ve made to that file but still need to get it out of the way for now, we’ll go over stashing and branching in <a href="ch03-git-branching.html">Git Branching</a>; these are generally better ways to go.</p>
868
- </div>
869
- <div class="paragraph">
870
- <p>Remember, anything that is <em>committed</em> in Git can almost always be recovered.
871
- Even commits that were on branches that were deleted or commits that were overwritten with an <code>--amend</code> commit can be recovered (see <a href="_data_recovery.html">Data Recovery</a> for data recovery).
872
- However, anything you lose that was never committed is likely never to be seen again.</p>
873
- </div>
874
- </div>
875
- <div class="sect3">
876
- <h3 id="undoing_git_restore">Undoing things with git restore</h3>
877
- <div class="paragraph">
878
- <p>Git version 2.23.0 introduced a new command: <code>git restore</code>.
879
- It’s basically an alternative to <code>git reset</code> which we just covered.
880
- From Git version 2.23.0 onwards, Git will use <code>git restore</code> instead of <code>git reset</code> for many undo operations.</p>
881
- </div>
882
- <div class="paragraph">
883
- <p>Let’s retrace our steps, and undo things with <code>git restore</code> instead of <code>git reset</code>.</p>
884
- </div>
885
- <div class="sect4">
886
- <h4 id="_unstaging_a_staged_file_with_git_restore">Unstaging a Staged File with git restore</h4>
887
- <div class="paragraph">
888
- <p>The next two sections demonstrate how to work with your staging area and working directory changes with <code>git restore</code>.
889
- The nice part is that the command you use to determine the state of those two areas also reminds you how to undo changes to them.
890
- For example, let’s say you’ve changed two files and want to commit them as two separate changes, but you accidentally type <code>git add *</code> and stage them both.
891
- How can you unstage one of the two?
892
- The <code>git status</code> command reminds you:</p>
893
- </div>
894
- <div class="listingblock">
895
- <div class="content">
896
- <pre class="highlight"><code class="language-console" data-lang="console">$ git add *
897
- $ git status
898
- On branch master
899
- Changes to be committed:
900
- (use "git restore --staged &lt;file&gt;..." to unstage)
901
- modified: CONTRIBUTING.md
902
- renamed: README.md -&gt; README</code></pre>
903
- </div>
904
- </div>
905
- <div class="paragraph">
906
- <p>Right below the “Changes to be committed” text, it says use <code>git restore --staged &lt;file&gt;…​</code> to unstage.
907
- So, let’s use that advice to unstage the <code>CONTRIBUTING.md</code> file:</p>
908
- </div>
909
- <div class="listingblock">
910
- <div class="content">
911
- <pre class="highlight"><code class="language-console" data-lang="console">$ git restore --staged CONTRIBUTING.md
912
- $ git status
913
- On branch master
914
- Changes to be committed:
915
- (use "git restore --staged &lt;file&gt;..." to unstage)
916
- renamed: README.md -&gt; README
917
-
918
- Changes not staged for commit:
919
- (use "git add &lt;file&gt;..." to update what will be committed)
920
- (use "git restore &lt;file&gt;..." to discard changes in working directory)
921
- modified: CONTRIBUTING.md</code></pre>
922
- </div>
923
- </div>
924
- <div class="paragraph">
925
- <p>The <code>CONTRIBUTING.md</code> file is modified but once again unstaged.</p>
926
- </div>
927
- </div>
928
- <div class="sect4">
929
- <h4 id="_unmodifying_a_modified_file_with_git_restore">Unmodifying a Modified File with git restore</h4>
930
- <div class="paragraph">
931
- <p>What if you realize that you don’t want to keep your changes to the <code>CONTRIBUTING.md</code> file?
932
- How can you easily unmodify it — revert it back to what it looked like when you last committed (or initially cloned, or however you got it into your working directory)?
933
- Luckily, <code>git status</code> tells you how to do that, too.
934
- In the last example output, the unstaged area looks like this:</p>
935
- </div>
936
- <div class="listingblock">
937
- <div class="content">
938
- <pre class="highlight"><code class="language-console" data-lang="console">Changes not staged for commit:
939
- (use "git add &lt;file&gt;..." to update what will be committed)
940
- (use "git restore &lt;file&gt;..." to discard changes in working directory)
941
- modified: CONTRIBUTING.md</code></pre>
942
- </div>
943
- </div>
944
- <div class="paragraph">
945
- <p>It tells you pretty explicitly how to discard the changes you’ve made.
946
- Let’s do what it says:</p>
947
- </div>
948
- <div class="listingblock">
949
- <div class="content">
950
- <pre class="highlight"><code class="language-console" data-lang="console">$ git restore CONTRIBUTING.md
951
- $ git status
952
- On branch master
953
- Changes to be committed:
954
- (use "git restore --staged &lt;file&gt;..." to unstage)
955
- renamed: README.md -&gt; README</code></pre>
956
- </div>
957
- </div>
958
- <div class="admonitionblock important">
959
- <table>
960
- <tr>
961
- <td class="icon">
962
- <div class="title">Important</div>
963
- </td>
964
- <td class="content">
965
- <div class="paragraph">
966
- <p>It’s important to understand that <code>git restore &lt;file&gt;</code> is a dangerous command.
967
- Any local changes you made to that file are gone — Git just replaced that file with the last staged or committed version.
968
- Don’t ever use this command unless you absolutely know that you don’t want those unsaved local changes.</p>
969
- </div>
970
- </td>
971
- </tr>
972
- </table>
973
- </div>
974
- </div>
975
- </div>
976
- <div id="nav"><a href="_viewing_history.html">prev</a> | <a href="_remote_repos.html">next</a></div></div>
977
- </div>
978
-
979
- </div>
980
- </div>
981
- <footer>
982
- <div class="site-source">
983
- <a href="https://git-scm.com/site">About this site</a><br>
984
- Patches, suggestions, and comments are welcome.
985
- </div>
986
- <div class="sfc-member">
987
- Git is a member of <a href="https://git-scm.com/sfc">Software Freedom Conservancy</a>
988
- </div>
989
- </footer>
990
- <a href="_unstaging.html#top" class="no-js scrollToTop" id="scrollToTop" data-label="Scroll to top">
991
- <img src="../../../../images/icons/chevron-up@2x.png" width="20" height="20" alt="scroll-to-top"/>
992
- </a>
993
- <script src="../../../../assets/application-38b0d42ff05ffea45841edebbd14b75b89585646153808e82907c2c5c11f324b.js"></script>
994
-
995
- </div>
996
-
997
- </body>
998
- </html>