Git 版本回退
Git 版本回退
2023年7月29日
摘要
在使用 git add
将某些文件添加进暂存区后,有时会需要撤销添加,恢复原本的状态,此时可使用 git restore
命令来进行撤销。除此之外,如果需要回退到之前的某个版本,则可以使用 git restore
来进行版本回退。本文将对这两个命令进行简单的介绍
撤销暂存区修改
在未对更改进行提交的情况下,如果想要撤销一些更改,可以使用以下命令:
git restore --OPTION FILE
其中,--OPTION
有以下几种常用选项:
--worktree
- 默认选项,不加选项则执行此选项,将会把指定文件直接恢复至上一次提交的状态--staged
- 将更改从暂存区移出,但保留本地文件内部的更改--source=COMMIT_ID
- 将文件恢复至某一次 commit 时的状态
版本回退
在已经经过 git commit
提交了更改过后,要是想回退之前的某一版本,便只能使用 git reset
命令完成,使用方式如下:
git reset --OPTION TARGET
其中,--OPTION
可用的选项为:
--hard
- 硬性重置,本地工作目录和暂存区都完全重制到目标版本--mixed
- 默认参数,不加选项就是这个选项,保留工作目录的状态,但清空暂存区,等于从目标版本后从来没git add
过--soft
- 工作目录不变,将重置带来的更改放进暂存区,就像是更改回目标版本后先git add
,再更改至当前工作区的状态但还没git add
此外,TARGET
的格式为:
-
COMMIT_ID
- 指定 commit -
origin/master
- 远程的版本 -
HEAD
orHEAD~0
- 当前所处的版本(最近一次 commit) -
HEAD^
orHEAD~1
- 上一个版本 -
HEAD^^
orHEAD~2
- 上上个版本 -
以此类推
如果只是想重置某个文件,可以在命令后追加文件名,例如:
git reset --hard HEAD README.md
当然,对于单个文件的回退,也可使用 git restore
完成。
License:
CC BY 4.0