📜  git reset last commit - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:41:27.403000             🧑  作者: Mango

Git Reset Last Commit - Shell/Bash

Introduction

In Git, the reset command is used to undo changes or move the current branch to a different commit. When you want to undo the last commit, the git reset command can be used with the appropriate options.

This article will guide you on how to reset the last commit using the git reset command in the Shell/Bash environment. It will cover different options available with the git reset command to suit various use cases.

Git Reset Modes

The git reset command can be used in three different modes:

  1. Soft Reset: This mode will undo the last commit but keep the changes in your working directory. It moves the branch pointer to the previous commit without modifying any files.

  2. Mixed Reset: This mode will undo the last commit and also reset the staging area. It moves the branch pointer to the previous commit and unstage any changes made in the last commit, preserving the changes in your working directory.

  3. Hard Reset: This mode will completely discard the last commit and all changes, reverting the branch to the previous commit. It moves the branch pointer to the previous commit and resets the staging area and working directory.

Soft Reset

To perform a soft reset and undo the last commit in Git, use the following command:

git reset --soft HEAD~1

This command will move the branch pointer to the previous commit while keeping the changes in your working directory and staging area.

Mixed Reset

To perform a mixed reset and undo the last commit along with resetting the staging area in Git, use the following command:

git reset HEAD~1

This command will move the branch pointer to the previous commit, unstage any changes made in the last commit, and keep the changes in your working directory.

Hard Reset

To perform a hard reset and completely discard the last commit and all changes in Git, use the following command:

git reset --hard HEAD~1

This command will move the branch pointer to the previous commit, reset the staging area and working directory, and discard any changes made in the last commit.

Conclusion

In this article, we discussed the different modes of the git reset command in the Shell/Bash environment to undo the last commit. The soft reset mode preserves the changes in the working directory, the mixed reset mode unstages the changes, and the hard reset mode completely discards the changes. Choose the appropriate mode based on your requirements and use the provided command examples to reset the last commit in Git.