git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Randall S. Becker" <rsbecker@nexbridge.com>
To: "'Ed Avis'" <eda@waniasset.com>, <git@vger.kernel.org>
Subject: RE: git switch and restore user interface
Date: Mon, 19 Aug 2019 06:51:48 -0400	[thread overview]
Message-ID: <00f701d5567c$1d9fe810$58dfb830$@nexbridge.com> (raw)
In-Reply-To: <a3a66e58b1e44e88b9c11655c7c77e87@WCL-EX13MBX.wcl.local>

On August 19, 2019 5:41 AM, Ed Avis wrote:
> To: git@vger.kernel.org
> Subject: git switch and restore user interface
> 
> I think it would be helpful for git switch to print a reminder of the old
and
> new branches.
> 
> Hi, a couple of suggestions for these experimental new commands.  Git
> switch should print the branch you are leaving:
> 
> % git switch foo
> You were previously on branch bar (abcdef).
> You are now on branch foo (bcdef0).
> 
> Sometimes I forget what branch I was on before and having it in the
terminal
> history would help a lot.
> 
> 
> For git restore, it might be worth splitting the command further, into
'safe
> restore' and 'destructive restore'.  The safe command would always stop
> rather than lose data:
> 
> % git safe-restore .
> The following local changes would be overwritten:
>    Fee.c
>    Foe.c
> Stash them first, or (etc etc).
> 
> The command that unconditionally overwrites working copy changes should
> be given a different and more dangerous-sounding name.
> 
> The reason I suggest this is to make sure of a sensible answer to the
> newcomer's question: "I just deleted a file by mistake in my working copy,
> how do I get it back from git?".  Too often at the moment the answer is
"git
> checkout ." which while correct is also much too dangerous to be a first
> resort.  There should be an obvious and safe command for restoring missing
> files without losing local changes.
> 
> In fact, I'd be quite happy for it to be like git clean, which in the
default
> configuration requires some flag like -f to make it lose any local
changes,
> even though the very purpose of git clean is to delete files.

I would be happier to have git restore --stash or some configuration option,
like restore.stash=auto that has git automatically stash on a restore. But
would the stash include everything or just the paths you are restoring? It
might be nice to teach git clean the same option.

Cheers,
Randall


      reply	other threads:[~2019-08-19 10:52 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-19  9:41 git switch and restore user interface Ed Avis
2019-08-19 10:51 ` Randall S. Becker [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='00f701d5567c$1d9fe810$58dfb830$@nexbridge.com' \
    --to=rsbecker@nexbridge.com \
    --cc=eda@waniasset.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).