• Junio C Hamano's avatar
    Merge branch 'nd/switch-and-restore' · f496b064
    Junio C Hamano authored
    Two new commands "git switch" and "git restore" are introduced to
    split "checking out a branch to work on advancing its history" and
    "checking out paths out of the index and/or a tree-ish to work on
    advancing the current history" out of the single "git checkout"
    * nd/switch-and-restore: (46 commits)
      completion: disable dwim on "git switch -d"
      switch: allow to switch in the middle of bisect
      t2027: use test_must_be_empty
      Declare both git-switch and git-restore experimental
      help: move git-diff and git-reset to different groups
      doc: promote "git restore"
      user-manual.txt: prefer 'merge --abort' over 'reset --hard'
      completion: support restore
      t: add tests for restore
      restore: support --patch
      restore: replace --force with --ignore-unmerged
      restore: default to --source=HEAD when only --staged is specified
      restore: reject invalid combinations with --staged
      restore: add --worktree and --staged
      checkout: factor out worktree checkout code
      restore: disable overlay mode by default
      restore: make pathspec mandatory
      restore: take tree-ish from --source option instead
      checkout: split part of it to new command 'restore'
      doc: promote "git switch"
parse-options-cb.c 6.5 KB