gitgit-bashgit-stashgit-hash

`git stash create` does not return a hash


Example (bash):

> cd ~/repo1
> git stash create

Clearly something is wrong, maybe there is already something stashed?

> git stash drop
No stash entries found

Maybe there is something wrong with git, pick a random other repository and rerun:

> cd ~/repo2
> git stash create
f6fed634ce4de28d8696de39f6a338df8edef59c

What's going on here?


Solution

  • If there's nothing to stash, there's no unstaged or staged changes, it won't make a commit object.

    $ git status
    On branch master
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git restore <file>..." to discard changes in working directory)
        modified:   this
    $ git stash create
    a42c068d4b8139a6d572ad04e77f1bd0057b3408
    
    $ git restore this
    $ git status
    On branch master
    nothing to commit, working tree clean
    $ git stash create
    $