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.
This question is related to
macos
git
bitbucket
atlassian-sourcetree
Ok I just noticed that my question was already answered in the question title.
To unstage files use
git reset HEAD /file/name
And to undo the changes to a file
git checkout -- /file/name
If you have a batch of files inside a folder you can undo the whole folder
git checkout -- /folder/name
Note that all these commands are already displayed when you git status
Here I created a dummy repo and listed all 3 possibilities
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: test
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: test2
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# test3
Its Ctrl + Shift + r
For me, there was only one option to discard all.
From sourcetree gui click on working directoy, right-click the file(s) that you want to discard, then click on Discard
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
.
Do as follow,
commit
CMD+A
that you want to delete or discard
Right click
on the selected uncommitted files that you want to deleteRemove
from the drop-down listOn 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.
Source: Stackoverflow.com