Documentation: 'git add -A' can remove files

The current documentation fails to mention that 'git add -A/--all' can
remove files as well as add them, and it also does not say anything about
filepatterns (whether they are allowed, mandatory, or optional). It is
also not clear what the similarities and differences to the -u option are.

Update the intro paragraph (as suggested by Junio, with some minor edits)
to make it clear that 'git add' is able to delete and to also cover the -p
option.

Reword the description of -u to make it clearer (based on Björn
Steinbrink's suggestion).

Simplify the description of -A by saying "Like -u" and then describe the
differences (based on the suggestions by Björn Steinbrink and Junio).

Signed-off-by: Björn Gustavsson <bgustavsson@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 file changed
tree: 6dd2c5e50b914a342f9b2ab4ecf9b3b4c24d23e8
  1. block-sha1/
  2. compat/
  3. contrib/
  4. Documentation/
  5. git-gui/
  6. gitk-git/
  7. gitweb/
  8. perl/
  9. ppc/
  10. t/
  11. templates/
  12. xdiff/
  13. .gitattributes
  14. .gitignore
  15. .mailmap
  16. abspath.c
  17. advice.c
  18. advice.h
  19. alias.c
  20. alloc.c
  21. archive-tar.c
  22. archive-zip.c
  23. archive.c
  24. archive.h
  25. attr.c
  26. attr.h
  27. base85.c
  28. bisect.c
  29. bisect.h
  30. blob.c
  31. blob.h
  32. branch.c
  33. branch.h
  34. builtin-add.c
  35. builtin-annotate.c
  36. builtin-apply.c
  37. builtin-archive.c
  38. builtin-bisect--helper.c
  39. builtin-blame.c
  40. builtin-branch.c
  41. builtin-bundle.c
  42. builtin-cat-file.c
  43. builtin-check-attr.c
  44. builtin-check-ref-format.c
  45. builtin-checkout-index.c
  46. builtin-checkout.c
  47. builtin-clean.c
  48. builtin-clone.c
  49. builtin-commit-tree.c
  50. builtin-commit.c
  51. builtin-config.c
  52. builtin-count-objects.c
  53. builtin-describe.c
  54. builtin-diff-files.c
  55. builtin-diff-index.c
  56. builtin-diff-tree.c
  57. builtin-diff.c
  58. builtin-fast-export.c
  59. builtin-fetch--tool.c
  60. builtin-fetch-pack.c
  61. builtin-fetch.c
  62. builtin-fmt-merge-msg.c
  63. builtin-for-each-ref.c
  64. builtin-fsck.c
  65. builtin-gc.c
  66. builtin-grep.c
  67. builtin-help.c
  68. builtin-init-db.c
  69. builtin-log.c
  70. builtin-ls-files.c
  71. builtin-ls-remote.c
  72. builtin-ls-tree.c
  73. builtin-mailinfo.c
  74. builtin-mailsplit.c
  75. builtin-merge-base.c
  76. builtin-merge-file.c
  77. builtin-merge-ours.c
  78. builtin-merge-recursive.c
  79. builtin-merge.c
  80. builtin-mktree.c
  81. builtin-mv.c
  82. builtin-name-rev.c
  83. builtin-pack-objects.c
  84. builtin-pack-refs.c
  85. builtin-prune-packed.c
  86. builtin-prune.c
  87. builtin-push.c
  88. builtin-read-tree.c
  89. builtin-receive-pack.c
  90. builtin-reflog.c
  91. builtin-remote.c
  92. builtin-replace.c
  93. builtin-rerere.c
  94. builtin-reset.c
  95. builtin-rev-list.c
  96. builtin-rev-parse.c
  97. builtin-revert.c
  98. builtin-rm.c
  99. builtin-send-pack.c
  100. builtin-shortlog.c
  101. builtin-show-branch.c
  102. builtin-show-ref.c
  103. builtin-stripspace.c
  104. builtin-symbolic-ref.c
  105. builtin-tag.c
  106. builtin-tar-tree.c
  107. builtin-unpack-objects.c
  108. builtin-update-index.c
  109. builtin-update-ref.c
  110. builtin-update-server-info.c
  111. builtin-upload-archive.c
  112. builtin-verify-pack.c
  113. builtin-verify-tag.c
  114. builtin-write-tree.c
  115. builtin.h
  116. bundle.c
  117. bundle.h
  118. cache-tree.c
  119. cache-tree.h
  120. cache.h
  121. check-builtins.sh
  122. check-racy.c
  123. check_bindir
  124. color.c
  125. color.h
  126. combine-diff.c
  127. command-list.txt
  128. commit.c
  129. commit.h
  130. config.c
  131. config.mak.in
  132. configure.ac
  133. connect.c
  134. convert.c
  135. copy.c
  136. COPYING
  137. csum-file.c
  138. csum-file.h
  139. ctype.c
  140. daemon.c
  141. date.c
  142. decorate.c
  143. decorate.h
  144. delta.h
  145. diff-delta.c
  146. diff-lib.c
  147. diff-no-index.c
  148. diff.c
  149. diff.h
  150. diffcore-break.c
  151. diffcore-delta.c
  152. diffcore-order.c
  153. diffcore-pickaxe.c
  154. diffcore-rename.c
  155. diffcore.h
  156. dir.c
  157. dir.h
  158. editor.c
  159. entry.c
  160. environment.c
  161. exec_cmd.c
  162. exec_cmd.h
  163. fast-import.c
  164. fetch-pack.h
  165. fixup-builtins
  166. fsck.c
  167. fsck.h
  168. generate-cmdlist.sh
  169. git-add--interactive.perl
  170. git-am.sh
  171. git-archimport.perl
  172. git-bisect.sh
  173. git-compat-util.h
  174. git-cvsexportcommit.perl
  175. git-cvsimport.perl
  176. git-cvsserver.perl
  177. git-difftool--helper.sh
  178. git-difftool.perl
  179. git-filter-branch.sh
  180. git-instaweb.sh
  181. git-lost-found.sh
  182. git-merge-octopus.sh
  183. git-merge-one-file.sh
  184. git-merge-resolve.sh
  185. git-mergetool--lib.sh
  186. git-mergetool.sh
  187. git-parse-remote.sh
  188. git-pull.sh
  189. git-quiltimport.sh
  190. git-rebase--interactive.sh
  191. git-rebase.sh
  192. git-relink.perl
  193. git-repack.sh
  194. git-request-pull.sh
  195. git-send-email.perl
  196. git-sh-setup.sh
  197. git-stash.sh
  198. git-submodule.sh
  199. git-svn.perl
  200. GIT-VERSION-GEN
  201. git-web--browse.sh
  202. git.c
  203. git.spec.in
  204. graph.c
  205. graph.h
  206. grep.c
  207. grep.h
  208. hash-object.c
  209. hash.c
  210. hash.h
  211. help.c
  212. help.h
  213. http-fetch.c
  214. http-push.c
  215. http-walker.c
  216. http.c
  217. http.h
  218. ident.c
  219. imap-send.c
  220. index-pack.c
  221. INSTALL
  222. levenshtein.c
  223. levenshtein.h
  224. list-objects.c
  225. list-objects.h
  226. ll-merge.c
  227. ll-merge.h
  228. lockfile.c
  229. log-tree.c
  230. log-tree.h
  231. mailmap.c
  232. mailmap.h
  233. Makefile
  234. match-trees.c
  235. merge-file.c
  236. merge-index.c
  237. merge-recursive.c
  238. merge-recursive.h
  239. merge-tree.c
  240. mktag.c
  241. name-hash.c
  242. object.c
  243. object.h
  244. pack-check.c
  245. pack-redundant.c
  246. pack-refs.c
  247. pack-refs.h
  248. pack-revindex.c
  249. pack-revindex.h
  250. pack-write.c
  251. pack.h
  252. pager.c
  253. parse-options.c
  254. parse-options.h
  255. patch-delta.c
  256. patch-id.c
  257. patch-ids.c
  258. patch-ids.h
  259. path.c
  260. pkt-line.c
  261. pkt-line.h
  262. preload-index.c
  263. pretty.c
  264. progress.c
  265. progress.h
  266. quote.c
  267. quote.h
  268. reachable.c
  269. reachable.h
  270. read-cache.c
  271. README
  272. reflog-walk.c
  273. reflog-walk.h
  274. refs.c
  275. refs.h
  276. remote-curl.c
  277. remote.c
  278. remote.h
  279. replace_object.c
  280. rerere.c
  281. rerere.h
  282. revision.c
  283. revision.h
  284. run-command.c
  285. run-command.h
  286. send-pack.h
  287. server-info.c
  288. setup.c
  289. sha1-lookup.c
  290. sha1-lookup.h
  291. sha1_file.c
  292. sha1_name.c
  293. shallow.c
  294. shell.c
  295. shortlog.h
  296. show-index.c
  297. sideband.c
  298. sideband.h
  299. sigchain.c
  300. sigchain.h
  301. strbuf.c
  302. strbuf.h
  303. string-list.c
  304. string-list.h
  305. symlinks.c
  306. tag.c
  307. tag.h
  308. tar.h
  309. test-chmtime.c
  310. test-ctype.c
  311. test-date.c
  312. test-delta.c
  313. test-dump-cache-tree.c
  314. test-genrandom.c
  315. test-match-trees.c
  316. test-parse-options.c
  317. test-path-utils.c
  318. test-sha1.c
  319. test-sha1.sh
  320. test-sigchain.c
  321. thread-utils.c
  322. thread-utils.h
  323. trace.c
  324. transport-helper.c
  325. transport.c
  326. transport.h
  327. tree-diff.c
  328. tree-walk.c
  329. tree-walk.h
  330. tree.c
  331. tree.h
  332. unimplemented.sh
  333. unpack-file.c
  334. unpack-trees.c
  335. unpack-trees.h
  336. upload-pack.c
  337. usage.c
  338. userdiff.c
  339. userdiff.h
  340. utf8.c
  341. utf8.h
  342. var.c
  343. walker.c
  344. walker.h
  345. wrapper.c
  346. write_or_die.c
  347. ws.c
  348. wt-status.c
  349. wt-status.h
  350. xdiff-interface.c
  351. xdiff-interface.h