How to delete a stash created with git stash create?

前端 未结 9 988
失恋的感觉
失恋的感觉 2020-12-04 04:28

Git stash seems to do a lot of what I want, except that it is a little hard to script, as the if you have no changes, then git stash; git stash pop will do some

9条回答
  •  遥遥无期
    2020-12-04 05:16

    To delete a normal stash created with git stash , you want git stash drop or git stash drop stash@{n}. See below for more details.


    You don't need to delete a stash created with git stash create. From the docs:

    Create a stash entry (which is a regular commit object) and return its object name, without storing it anywhere in the ref namespace. This is intended to be useful for scripts. It is probably not the command you want to use; see "save" above.

    Since nothing references the stash commit, it will get garbage collected eventually.


    A stash created with git stash or git stash save is saved to refs/stash, and can be deleted with git stash drop. As with all Git objects, the actual stash contents aren't deleted from your computer until a gc prunes those objects after they expire (default is 2 weeks later).

    Older stashes are saved in the refs/stash reflog (try cat .git/logs/refs/stash), and can be deleted with git stash drop stash@{n}, where n is the number shown by git stash list.

提交回复
热议问题