Git撤销修改

Git撤销修改

如果因为各种原因,需要回滚至上个版本,可以使用特定的命名实现。

首先回退分为回退工作区、回退暂存区、回退版本库。回退的命令是层层递进的,如回退暂存区的命令实际是将工作区和暂存区都回退,回退版本库的命令实际是将三个区都回退。

要注意的是,git 只会对在 git 中已被版本控制的文件 进行操作,即,在相关目录下被忽略的文件、未跟踪 (从没被添加到暂存区或版本库中)的文件,在版本回退时都不会受到影响

bash 复制代码
git reset --soft --mixed --hard HEAD

--soft 会将版本库的内容回退,但工作区和暂存区的内容不变。

--mixed 是缺省操作,会将版本库和暂存区的内容回退,但工作区的内容不变。

--hard 会将三个区的内容全都同步到上一个版本。

HEAD 表示当前版本,^ 表示上一版本,需要回退到多少个版本前,就加几个 ^

1. 撤销工作区修改

bash 复制代码
git checkout -- [filename]	//将某个文件的内容回退到版本库最新的备份

2. 撤销工作区和暂存区修改

^ 表示一个版本,要回退到多少个版本前就输入多少个 ^

bash 复制代码
git reset --mixed HEAD^

3. 撤销版本库修改

注意如果使用的是远程仓库,撤销版本库修改要在执行 push 命令之前,否则版本回退后再提交再执行 push 会产生远程仓库和本地仓库的分支冲突。

bash 复制代码
git reset --hard HEAD^

如果执行 push 命令后,仍然要回退版本库,要注意不能执行回退后再 push ,因为本地仓库的提交版本是不能比远程仓库的提交版本低的。而是要使用:

bash 复制代码
git revert HEAD^

这个命令会将当前仓库的内容回退到上一个版本,并生成一个新的提交 ,这样就能解决本地版本低而不能 push 到远程仓库的问题。

相关推荐
Wzx1980122 小时前
Git分布式版本控制工具
git
whale fall14 小时前
git add、git commit、git push 的区别和联系
git
倾云鹤14 小时前
Git同时推送多个远程仓库
git
sdm07042718 小时前
基础开发工具git,gdb
git
胡琦博客21 小时前
如何同步远程分支到本地(远程有些分支已经删除了)
git
AI成长日志1 天前
【实用工具教程】Git进阶:分支策略与合并冲突解决
git
ruanCat1 天前
加了 .gitattributes 就万事大吉?我差点毁了整个团队的 Git 工作流
git
咋吃都不胖lyh1 天前
查看 Git 本地仓库关联的远程仓库链接(URL)
git
wheelmouse77881 天前
AI 时代的 Git 进阶术:如何优雅地让多个 Agent 并行开发
人工智能·git·ai编程
如意.7591 天前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git