> 文档中心 > 使用git时如何撤销改动的代码?针对不同场景总结

使用git时如何撤销改动的代码?针对不同场景总结

文章目录

      • 一、未add的,撤销方法
        • 1. 撤销所有改动
        • 2. 撤销某文件的改动
        • 3. 用git Stash撤销并存储改动
      • 二、已经add 但不想commit的撤销方法
        • 1. 使用restore
        • 2. 使用reset
      • 三、撤销已commit的代码
        • 用法
        • 1. 撤销上一个commit,但不撤销add
        • 2. 撤销到N个commit,但不撤销add
        • 3. 撤销上一个commit和add,但不删除代码
        • 4. 撤销上一个commit和add并删除代码
        • 5. 撤回到指定commit

一、未add的,撤销方法

1. 撤销所有改动

git checkout .

2. 撤销某文件的改动

使用git时如何撤销改动的代码?针对不同场景总结
根据git 的提示可以用如下命令:
git restore 文件1 文件2
还可以用:
git checkout -- [fileName1] [fileName2]

3. 用git Stash撤销并存储改动

具体使用请点击:git stash的使用

二、已经add 但不想commit的撤销方法

1. 使用restore

使用git时如何撤销改动的代码?针对不同场景总结

根据git的提示,可以使用下面的命令取消暂存的文件。

git restore --staged [fileName1] [fileName2]

2. 使用reset

除了使用restore还可以使用reset命令。

git reset HEAD [fileName1] [fileName2]

三、撤销已commit的代码

用法

git reset [选项] [要撤销的位置]

1. 撤销上一个commit,但不撤销add

git reset --soft HEAD^

2. 撤销到N个commit,但不撤销add

git reset --soft HEAD~N

3. 撤销上一个commit和add,但不删除代码

git reset --mixed HEAD~1

4. 撤销上一个commit和add并删除代码

git reset --hard HEAD^

5. 撤回到指定commit

git reset commitid