Re: [PATCH 00/19] Add new command "switch"
- Date: Thu, 31 Jan 2019 21:51:29 +0700
- From: Duy Nguyen <pclouds@xxxxxxxxx>
- Subject: Re: [PATCH 00/19] Add new command "switch"
On Thu, Jan 31, 2019 at 8:37 PM SZEDER Gábor <szeder.dev@xxxxxxxxx> wrote:
> 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
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.