git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Support for an interactive confirmation prompt when users can possibly lose their work like some UNIX commands

From
Jeff King <peff@peff.net>
Date
Aug 27, 2019, 19:05 UTC
Message-ID
<20190827190509.GB3150@sigill.intra.peff.net>
In-Reply-To
<c1136131-0a9e-9dbb-3ad7-495ac96c1ef0@disroot.org>
On Tue, Aug 27, 2019 at 09:53:30AM +0000, Vipul wrote:
Show 10 quoted lines
> Sometimes, I messed-up with git repository and lost works due
> carelessness. This includes reset a branch instead of other, drop the
> stash etc by mistake. I wonder, is there way to a get an interactive
> confirmation prompt (which ask for yes/no option) before executing those
> commands when users can possibly lose their work? Like, some UNIX
> commands have support for an interactive prompt (like 'rm -i', 'mv -i',
> 'cp -i', etc) for ex: before deleting and overwriting a file a
> confirmation is prompt and asking for users permission.
> 	If there would no such feature available in git, so how do other people
> avoid these kind of mistakes?

The usual philosophy in Git is not to bother the user with confirmations, but to allow recovery after a mistake.

If you've moved a branch pointer around (e.g., via "git branch -f" or "git reset"), you can recover it from the reflog.

In the case of a mistakenly dropped stash, there's no reflog (the stash list itself is implemented as a reflog!), but you can use "git fsck" to generate a list of "dangling" commits. These are commits which are unreferenced, but they hang around until at least the next git-gc run.

Note that there _are_ some commands which are not reversible: mostly things that drop content from the working tree. So "git reset --hard" is one, and "git clean" is another. There have been discussions and even some patches about storing the lost in an "undo log", but nothing has been merged.

-Peff
Previous: VipulNext: Vipul
Message 2 of 6 in “Support for an interactive confirmation prompt when users can possibly lose their work like some UNIX commands”
  1. VipulAug 27, 2019
  2. Jeff KingAug 27, 2019
  3. VipulAug 27, 2019
  4. Jeff KingAug 28, 2019
  5. Duy NguyenAug 28, 2019
  6. Pratyush YadavAug 27, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.