From: Bruno Haible Date: Wed, 03 Oct 2007 21:31:41 GMT Subject: making "git stash" safer to use Message-ID: <200710032331.41385.bruno@clisp.org> In-Reply-To: <47023699.3080606@byu.net> Hi, Through a simple typo I lost modifications to 20 files: > >>> $ git stash > >>> $ git pull > >>> $ git stash apply > >>> $ git stash clean # typo! > >>> $ git stash clear # fatal correction to typo! It is just too easy to lose your modifications by using "git stash". Eric Blake further says: > While we're at it, I wish 'git stash clear' would take an optional > argument that says which stash(es) to clear, rather than blindly clearing > the entire stash. It would help if git would store which of the stashes were applied since they were created and which were not. A stash that was not yet applied must be considered "precious", whereas a stash that was applied is redundant, right? According these lines, how about 1) changing "git stash clear" to remove only the redundant stashes, (or alternatively: let it fail if there is at least one precious stash), 2) adding an option -f, so that "git stash -f clear" clears all stashes, including the precious ones. The rationale is that humans are bad at remembering the state of something. Therefore instead of having a command that is commonly used in one state and dangerous in the other state, better have two different commands - one for the common case, and one for the dangerous one. Like "rm" and "rm -f". Bruno