Sourcetree Stash Changes

Posted on  by admin

Basically I accept changes at develop branch, but I want to apply some file's change of the stash. – Kazunori Takaishi May 15 '18 at 6:29 It may be partially duplicate, but I want to do the same thing in SourceTree as well as git command. To Stash changes in SourceTree we can go to the 'Repository' menu (right of File & Edit) then 'Stash Changes'. Also in Terminal the command is simply 'git stash' Stef Joosten Apr 30, 2017 I think the problem here is that stashes may get hidden by moving around the panes in the screen.

Question or issue on macOS:

I’m new to the Git environment, and I’m using BitBucket with SourceTree on Mac. All I want to do now is to discard the changes since last commit. How should I do this? I haven’t found anything like “discard changes”, and directly pulling from the last commit doesn’t seem to work. Solutions done with either the GUI or command line will be good. Thank you.

How to solve this problem?

Solution no. 1:

Sourcetree stash staged changes

I like to use

This stores all uncommitted changes in the stash. If you want to discard these changes later just git stash drop (or git stash pop to restore them).


Though this is technically not the “proper” way to discard changes (as other answers and comments have pointed out).

SourceTree: On the top bar click on icon ‘Stash’, type its name and create. Then in left vertical menu you can “show” all Stash and delete in right-click menu. There is probably no other way in ST to discard all files at once.

Solution no. 2:

On SourceTree for Mac, right click the files you want to discard (in the Files in the working tree list), and choose Reset.

Sourcetree Stash Changes

On SourceTree for Windows, right click the files you want to discard (in the Working Copy Changes list), and choose Discard.

On git, you’d simply do:


git reset --hard to discard changes made to versioned files;

git clean -xdf to erase new (untracked) files, including ignored ones (the x option). d is to also remove untracked directories and f to force.

Solution no. 3:

On the unstaged file, click on the three dots on the right side. Once you click it, a popover menu will appear where you can then Discard file.

Solution no. 4:

Ok I just noticed that my question was already answered in the question title.

To unstage files use

And to undo the changes to a file

If you have a batch of files inside a folder you can undo the whole folder

Note that all these commands are already displayed when you git status

Here I created a dummy repo and listed all 3 possibilities

Solution no. 5:

Sourcetree Apply Stash Changes

From sourcetree gui click on working directoy, right-click the file(s) that you want to discard, then click on Discard

Solution no. 6:

Sourcetree Tutorial

Do as follow,

  • Click on commit
  • Select all by pressing CMD+A that you want to delete or discard
  • Right click on the selected uncommitted files that you want to delete
  • Select Remove from the drop-down list

Solution no. 7:

Ok so in Windows sourcetree that is simple, on macOS I looked as well for a while..

Click Command + Shift + R while in source tree a hidden popup will be shown that will let you discard individual files OR ALL! Why is this hidden? We will never know.. but it works]1

Hope this helps!