git 回退一个文件的版本

编程入门 行业动态 更新时间:2024-10-23 19:20:26

git 回退一个文件的<a href=https://www.elefans.com/category/jswz/34/1771446.html style=版本"/>

git 回退一个文件的版本

测试背景

1.新建一个文件 README.md

写几行测试用的文本 如下:

提交到远程仓库

$ git add .
$ git commit -m 'add a text'
$ git push

2.修改这个文件 README.md

增加了内容(模拟修改) 如下:

再次提交到远程仓库 模拟错误提交 提交步骤如上

回退步骤

1. 使用命令 git log 文件名 查看该文件的提交日志

$ git log README.md
commit 00c9e47d7030685dc50b079b8cd640ec78657d38 (HEAD -> master, origin/master, origin/HEAD)
Author: XXXXXXXXXXXXXXXXXXXXX
Date:   Sat Apr 10 22:01:51 2021 +0800change txtcommit ede81898cad339f6dc4f537b3e52acf3667274d6
Author: XXXXXXXXXXXXXXXXXXXXX
Date:   Sat Apr 10 21:49:54 2021 +0800change readme.md

通过git log的结果可以找到提交的版本号 例如:00c9e47d7030685dc50b079b8cd640ec78657d38

2.使用git reset 版本号 文件名 回退文件到指定版本号的版本

例如: 执行 git reset ede81898 README.md

$ git reset ede81898 README.md
Unstaged changes after reset:
M       README.md

执行后回退命令(不带参数)后 查看当前状态

$ git status
On branch master
Your branch is up to date with 'origin/master'.Changes to be committed:(use "git restore --staged <file>..." to unstage)modified:   README.mdChanges not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified:   README.md

发现回到了修改该完文件的时候,只是回退了提交的状态 提交后->提交前,本地还保留着回退之前的内容,此刻继续修改文件,修改完成后照常提交即可

3.使用git checkout – 文件名 撤销本次修改

  1. 文件版本回退后 如果想撤销该文件的修改 使用命令 git checkout -- 文件名 注意文件名前必须有双横杠
  2. Git 2.23版本之后,增加了命令 git restore --staged <file> 也可以实现撤销文件的修改

补充知识点

  1. git reset --mixed:此为默认方式,不带任何参数的git reset,这种方式,它回退到某个版本,只保留源码,回退commit和index信息
  2. git reset --soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
  3. git reset --hard 彻底回退到某个版本,本地的源码也会变成为上一个版本的内容

更多推荐

git 回退一个文件的版本

本文发布于:2024-02-27 17:03:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1707462.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:版本   文件   git

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!