git-commit-vandalism/Documentation/config
Nguyễn Thái Ngọc Duy 46e91b663b checkout: split part of it to new command 'restore'
Previously the switching branch business of 'git checkout' becomes a
new command 'switch'. This adds the restore command for the checking
out paths path.

Similar to git-switch, a new man page is added to describe what the
command will become. The implementation will be updated shortly to
match the man page.

A couple main differences from 'git checkout <paths>':

- 'restore' by default will only update worktree. This matters more
  when --source is specified ('checkout <tree> <paths>' updates both
  worktree and index).

- 'restore --staged' can be used to restore the index. This command
  overlaps with 'git reset <paths>'.

- both worktree and index could also be restored at the same time
  (from a tree) when both --staged and --worktree are specified. This
  overlaps with 'git checkout <tree> <paths>'

- default source for restoring worktree and index is the index and
  HEAD respectively. A different (tree) source could be specified as
  with --source (*).

- when both index and worktree are restored, --source must be
  specified since the default source for these two individual targets
  are different (**)

- --no-overlay is enabled by default, if an entry is missing in the
  source, restoring means deleting the entry

(*) I originally went with --from instead of --source. I still think
  --from is a better name. The short option -f however is already
  taken by force. And I do think short option is good to have, e.g. to
  write -s@ or -s@^ instead of --source=HEAD.

(**) If you sit down and think about it, moving worktree's source from
  the index to HEAD makes sense, but nobody is really thinking it
  through when they type the commands.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2019-05-07 13:04:47 +09:00
..
add.txt config.txt: move add.* to a separate file 2018-10-29 10:17:00 +09:00
advice.txt checkout: split part of it to new command 'switch' 2019-04-02 13:56:59 +09:00
alias.txt config.txt: move alias.* to a separate file 2018-10-29 10:17:00 +09:00
am.txt config.txt: move am.* to a separate file 2018-10-29 10:17:00 +09:00
apply.txt config.txt: move apply.* to a separate file 2018-10-29 10:17:00 +09:00
blame.txt config.txt: move blame.* to a separate file 2018-10-29 10:17:00 +09:00
branch.txt checkout: split part of it to new command 'switch' 2019-04-02 13:56:59 +09:00
browser.txt config.txt: move browser.* to a separate file 2018-10-29 10:17:00 +09:00
checkout.txt switch: no worktree status unless real branch switch happens 2019-04-02 13:57:00 +09:00
clean.txt config.txt: move clean.* to a separate file 2018-10-29 10:17:00 +09:00
color.txt config.txt: move color.* to a separate file 2018-10-29 10:17:00 +09:00
column.txt config.txt: move column.* to a separate file 2018-10-29 10:17:00 +09:00
commit.txt config.txt: move commit.* to a separate file 2018-10-29 10:17:00 +09:00
completion.txt config.txt: move completion.* to a separate file 2018-10-29 10:17:01 +09:00
core.txt docs/config: clarify "text property" in core.eol 2019-01-29 09:21:33 -08:00
credential.txt config.txt: move credential.* to a separate file 2018-10-29 10:17:01 +09:00
diff.txt checkout: split part of it to new command 'switch' 2019-04-02 13:56:59 +09:00
difftool.txt config.txt: move difftool.* to a separate file 2018-10-29 10:17:01 +09:00
fastimport.txt config.txt: move fastimport.* to a separate file 2018-10-29 10:17:01 +09:00
fetch.txt config.txt: move fetch-config.txt to config/ 2018-10-29 10:17:01 +09:00
filter.txt config.txt: move filter.* to a separate file 2018-10-29 10:17:01 +09:00
fmt-merge-msg.txt config.txt: move fmt-merge-msg-config.txt to config/ 2018-10-29 10:17:01 +09:00
format.txt config.txt: move format-config.txt to config/ 2018-10-29 10:17:01 +09:00
fsck.txt config.txt: move fsck.* to a separate file 2018-10-29 10:17:01 +09:00
gc.txt config.txt: move gc.* to a separate file 2018-10-29 10:17:01 +09:00
gitcvs.txt config.txt: move gitcvs-config.txt to config/ 2018-10-29 10:17:01 +09:00
gitweb.txt config.txt: move gitweb.* to a separate file 2018-10-29 10:17:01 +09:00
gpg.txt config.txt: move gpg.* to a separate file 2018-10-29 10:17:02 +09:00
grep.txt config.txt: move grep.* to a separate file 2018-10-29 10:17:01 +09:00
gui.txt config.txt: move gui-config.txt to config/ 2018-10-29 10:17:02 +09:00
guitool.txt config.txt: move guitool.* to a separate file 2018-10-29 10:17:02 +09:00
help.txt config.txt: move help.* to a separate file 2018-10-29 10:17:02 +09:00
http.txt Merge branch 'fc/http-version' 2019-01-04 13:33:32 -08:00
i18n.txt config.txt: move i18n.* to a separate file 2018-10-29 10:17:02 +09:00
imap.txt git-imap-send.txt: move imap.* to a separate file 2018-10-29 10:17:02 +09:00
index.txt index: make index.threads=true enable ieot and eoie 2018-11-21 16:46:54 +09:00
init.txt config.txt: move init.* to a separate file 2018-10-29 10:17:02 +09:00
instaweb.txt config.txt: move instaweb.* to a separate file 2018-10-29 10:17:02 +09:00
interactive.txt checkout: split part of it to new command 'restore' 2019-05-07 13:04:47 +09:00
log.txt config.txt: move log.* to a separate file 2018-10-29 10:17:02 +09:00
mailinfo.txt config.txt: move mailinfo.* to a separate file 2018-10-29 10:17:02 +09:00
mailmap.txt config.txt: move mailmap.* to a separate file 2018-10-29 10:17:03 +09:00
man.txt config.txt: move man.* to a separate file 2018-10-29 10:17:03 +09:00
merge.txt Merge branch 'nd/config-split' 2018-11-13 22:37:16 +09:00
mergetool.txt config.txt: move mergetool.* to a separate file 2018-10-29 10:17:03 +09:00
notes.txt config.txt: move notes.* to a separate file 2018-10-29 10:17:03 +09:00
pack.txt pack-objects: create pack.useSparse setting 2019-01-17 13:44:43 -08:00
pager.txt config.txt: move pager.* to a separate file 2018-10-29 10:17:03 +09:00
pretty.txt config.txt: move pretty.* to a separate file 2018-10-29 10:17:03 +09:00
protocol.txt config.txt: move protocol.* to a separate file 2018-10-29 10:17:03 +09:00
pull.txt config.txt: move pull-config.txt to config/ 2018-10-29 10:17:03 +09:00
push.txt config.txt: move push-config.txt to config/ 2018-10-29 10:17:03 +09:00
rebase.txt rebase: add a config option to default to --reschedule-failed-exec 2018-12-11 17:19:01 +09:00
receive.txt config.txt: move receive-config.txt to config/ 2018-10-29 10:17:03 +09:00
remote.txt config.txt: move remote.* to a separate file 2018-10-29 10:17:03 +09:00
remotes.txt config.txt: move remotes.* to a separate file 2018-10-29 10:17:03 +09:00
repack.txt config.txt: move repack.* to a separate file 2018-10-29 10:17:04 +09:00
rerere.txt config.txt: move rerere.* to a separate file 2018-10-29 10:17:04 +09:00
reset.txt config.txt: move reset.* to a separate file 2018-10-29 10:17:04 +09:00
sendemail.txt config.txt: move sendemail-config.txt to config/ 2018-10-29 10:17:04 +09:00
sequencer.txt config.txt: move sequencer.* to a separate file 2018-10-29 10:17:04 +09:00
showbranch.txt config.txt: move showBranch.* to a separate file 2018-10-29 10:17:04 +09:00
splitindex.txt config.txt: move splitIndex.* to a separate file 2018-10-29 10:17:04 +09:00
ssh.txt config.txt: move ssh.* to a separate file 2018-10-29 10:17:02 +09:00
stash.txt config.txt: move stash.* to a separate file 2018-10-29 10:17:04 +09:00
status.txt config.txt: move status.* to a separate file 2018-10-29 10:17:04 +09:00
submodule.txt config.txt: move submodule.* to a separate file 2018-10-29 10:17:04 +09:00
tag.txt config.txt: move tag.* to a separate file 2018-10-29 10:17:04 +09:00
transfer.txt config.txt: move transfer.* to a separate file 2018-10-29 10:17:04 +09:00
uploadarchive.txt config.txt: move uploadarchive.* to a separate file 2018-10-29 10:17:04 +09:00
uploadpack.txt config.txt: move uploadpack.* to a separate file 2018-10-29 10:17:04 +09:00
url.txt config.txt: move url.* to a separate file 2018-10-29 10:17:04 +09:00
user.txt config: allow giving separate author and committer idents 2019-02-04 12:18:13 -08:00
versionsort.txt config.txt: move versionsort.* to a separate file 2018-10-29 10:17:05 +09:00
web.txt config.txt: move web.* to a separate file 2018-10-29 10:17:05 +09:00
worktree.txt doc/config: do a better job of introducing 'worktree.guessRemote' 2018-12-28 13:27:11 -08:00