System Grab Bag

View all TLDR pages from common (or from all pages)

git reset

Undo commits or unstage changes, by resetting the current Git HEAD to the specified state. If a path is passed, it works as "unstage"; if a commit hash or branch is passed, it works as "uncommit". More information: https://git-scm.com/docs/git-reset.
  • Unstage everything:
    git reset
  • Unstage specific file(s):
    git reset {{path/to/file1 path/to/file2 ...}}
  • Interactively unstage portions of a file:
    git reset --patch {{path/to/file}}
  • Undo the last commit, keeping its changes (and any further uncommitted changes) in the filesystem:
    git reset HEAD~
  • Undo the last two commits, adding their changes to the index, i.e. staged for commit:
    git reset --soft HEAD~2
  • Discard any uncommitted changes, staged or not (for only unstaged changes, use git checkout):
    git reset --hard
  • Reset the repository to a given commit, discarding committed, staged and uncommitted changes since then:
    git reset --hard {{commit}}

License and Disclaimer

The content on this page is copyright © 2014—present the tldr-pages team and contributors.
This page is used with permission under Creative Commons Attribution 4.0 International License.

While we do attempt to make sure content is accurate, there isn't a warranty of any kind.