Re: [PATCH 00/19] Add new command "switch"
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Jan 31, 2019, 14:51 UTC
- Message-ID
- <CACsJy8A7TjYWJsxXETUU31JzZL-aCXcr+rHsQ23Ec1ujeMcQTA@mail.gmail.com>
- In-Reply-To
- <20190131133731.GK13764@szeder.dev>
On Thu, Jan 31, 2019 at 8:37 PM SZEDER Gábor <szeder.dev@gmail.com> wrote:
Show 14 quoted lines
> > On Wed, Jan 30, 2019 at 04:48:12PM +0700, Nguyễn Thái Ngọc Duy wrote: > > The > > only one left is adding options similar to "git reset" (but with > > better names this time than --soft and --hard, hopefully). > > Oh no, what for?! As the commit message or patch 19/19 'doc: promote > "git switch"' states: > > The new command "git switch" is added to avoid the confusion of > one-command-do-all "git checkout" for new users. > > Adding '--soft|--hard' from 'git reset' would go in the opposite > direction.
If it's about the confusion, I think we can avoid it. If it's about the one-command-do-all, I think it still fits in the main topic of git-switch, which is about switching. But in git-reset case it's switching HEAD, not a normal branch.
What I have in mind so far is this, let's see if it's so bad so I can find another direction.
git switch --reset-branch [--keep-index] [--keep-worktree] [<commit>]
This updates worktree and index to <commit> and "rewinds" the current branch to <commit>. If either of those --keep-* is given, that part will be left untouched. So "git reset --hard" is the same as "git switch --reset-branch", --soft "--reset-branch --keep-index --keep-worktree" and --mixed "--reset-branch --keep-worktree".
I've been updating docs with this new format to see what it looks like and I think it expresses the idea behind git-reset much better.
-- Duy