I committed files that I don't want to push. I didn't push yet.
How can I remove the commit?
This is how my screen looks:
These are the options:
I don't want to undo any changes to the source code!
Select "Reset current branch to this commit." In the resulting dialog, select "Mixed..." from the drop down and click OK. Your working copy will remain the same (no files will be changed) but the index will be reset, meaning that all commits after the selected one will be removed from your history.
There are two ways to accomplish this. Move the remote branch ( git push ) or move the local branch ( git reset ).
In the new window, select the commit you want gone, and press the "Delete"-button at the bottom, or right click the commit and click "Delete commit". Click "OK" (or "Cancel" if you want to abort).
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).
To remove the commit without changing any source code, you need to perform a "mixed" reset.
Right click on the last "good" commit (this will probably be origin/master
). Select "Reset current branch to this commit."
In the resulting dialog, select "Mixed..." from the drop down and click OK.
Your working copy will remain the same (no files will be changed) but the index will be reset, meaning that all commits after the selected one will be removed from your history.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With