what does git reset do

what does git reset do

1 year ago 35
Nature

git reset is a command used to undo local changes to the state of a Git repository. It is a powerful command that has three primary forms of invocation:

  • Soft reset: This form of reset moves the branch pointer to a previous commit, but leaves the changes made after that commit in the staging area. This allows you to make additional changes to the files and commit them together with the changes from the previous commit.

  • Mixed reset: This form of reset moves the branch pointer to a previous commit and removes the changes made after that commit from the staging area, but leaves them in the working directory. This allows you to review the changes and decide which ones to stage for the next commit.

  • Hard reset: This form of reset moves the branch pointer to a previous commit and removes the changes made after that commit from both the staging area and the working directory. This discards all changes made after the previous commit.

The --merge option can be used with git reset to reset the index and the working directory to the state of the specified commit, while keeping the changes made after that commit in the staging area. The --hard option can be used to also reset the files in the working directory to the state of the specified commit.

The HEAD notation is used to specify the commit to which the branch pointer should be moved. HEAD^ refers to the parent of the current commit, while HEAD~1 refers to the commit that is one generation behind the current commit.

Some use cases for git reset include:

  • Undoing a commit that has not been pushed to a remote repository.
  • Unstaging changes that were accidentally added to the staging area.
  • Moving the branch pointer to a previous commit to start a new branch from that point.

It is important to note that git reset can be a dangerous command, as it can permanently discard changes made after a certain commit. It is recommended to use it with caution and to make sure that you understand its effects before using it.

Read Entire Article