Undoing Changes

Sync with remote, overwrite local changes

git fetch origin && git reset --hard origin/master && git clean -f -d

Git reset first commit

git update-ref -d HEAD

Reset: preserve uncommitted local changes

git reset --keep <commit>

Revert: Undo a commit by creating a new commit

git revert <commit-ish>

Reset: Discard commits, advised for private branch

git reset <commit-ish>

Before deleting untracked files/directory, do a dry run to get the list of these files/directories

git clean -n

Forcefully remove untracked files

git clean -f

Forcefully remove untracked directory

git clean -f -d

Undo assume-unchanged.

git update-index --no-assume-unchanged <file_name>

Clean the files from .gitignore.

git clean -X -f

Dry run. (any command that supports dry-run flag should do.)

git clean -fd --dry-run

Unstaging Staged file

git reset HEAD <file-name>

Revert: Reverting an entire merge

git revert -m 1 <commit-ish>

Restore file (modern alternative to reset/checkout --)

git restore <file-name>

Alternatives:

git restore --staged <file-name>

results matching ""

    No results matching ""