Subject: Failed stash caused untracked changes to be lost

From: "Quinn, David" <[email-masked]>
Date: Tue, 23 Oct 2018 11:02:41 +0000

Issue: While running a git stash command including the '-u' flag to include untracked files, the command failed due to arguments in the incorrect order. After this untracked files the were present had been removed and permanently lost.

Environment: Windows 10, Powershell w/ PoshGit

State before running command: 9 Modified files, 2 (new) untracked files

Note: I only wanted to commit some of the modified files (essentially all the files/changes I wanted to commit were in one directory)

Actual command run:  git stash push -u -- Directory/To/Files/* -m "My Message"

Returned:

    Saved working directory and index state WIP on [BranchName]: [Commit hash] [Commit Message]
    fatal: pathspec '-m' did not match any files
    error: unrecognized input

State after Command ran: 9 Modifed files, 0 untracked files

The command I should have ran should have been

    git stash push -u -m "My Message"? -- Directory/To/Files/*

I have found the stash that was created by running this command:

    gitk --all $(git fsck --no-reflog | Select-String "(dangling commit )(.*)" | %{ $_.Line.Split(' ')[2] })
?
and searching for the commit number that was returned from the original (paritally failed??) stash command. However there is nothing in that stash. It is empty.

I think that the fact my untracked files were lost is not correct behaviour and hence why I'm filing this bug report

________________________________
NOTICE: This message, and any attachments, are for the intended recipient(s) only, may contain information that is privileged, confidential and/or proprietary and subject to important terms and conditions available at E-Communication Disclaimer<http://www.cmegroup.com/tools-information/communications/e-communication-disclaimer.html>. If you are not the intended recipient, please delete this message. CME Group and its subsidiaries reserve the right to monitor all email communications that occur on CME Group information systems.