How to discard uncommitted changes in SourceTree?

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

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.


Follow steps to discard multiple uncommited changes in Sourcetree.

New version of Sourcetree does not have -Reset Button- as mentioned previous answer. Thus, please follow these 5 steps for solution.

  1. Right click "File status" and click "Reset...".

enter image description here

  1. Select files. If you want, you can select all of them like the below image.

enter image description here

  1. Click "Reset All".

enter image description here

  1. Again click "Reset All".

enter image description here

  1. Click "Reset".

enter image description here

Welldone..! No more 302 files to discard.

enter image description here


I like to use

git stash

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.


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.