amend
在项目中我们也经常会使用到撤销操作 使用这一节我们就讲一讲Git的撤销操作
撤销操作主要有如下几种
git commit --amend 撤销上一次提交 并讲暂存区文件重新提交
git checkout -- <file> 拉取暂存区文件 并将其替换成工作区文件
git reset HEAD -- <file> 拉取最近一次提交到版本库的文件到暂存区 改操作不影响工作区
git commit --amend
该命令可以用来撤销上一次提交到版本库的操作 并将暂存区重新提交到版本库中
简单的说就是可以帮我们 修改 最近一次提交到版本库的内容
下面我们来演示一下
git commit --amend
的操作我们先
git log --oneline
显示一下我们的提交记录$ git log --oneline c8a7da4 (HEAD -> master) version 4.0 5e39288 version 3.0 4378903 version 2.0 f0a1684 version 1.0
这是我们项目中的文件
index.html 的内容也非常简单 version 是几 就在 在
<h1>
标签中输出version几 如下图 version 4.0<h1>
就为<h1>this is Version 4.0</h1>
我们现在准备提交5.0版本 但是我们不小心把
<h1>
改为this is Version 50.0
并且提交到了版本库这时我们需要把刚刚提交到的版本库的操作撤销掉 并将正确的5.0版本提交 这时我们就需要用到 git commit –amend 命令了
首先我们把工作区的
<h1>
改为正确的this is Version 5.0
然后git add
到暂存区 再使用 git commit –amend 命令即可这时会出现下面的界面
这是vim编辑器的界面 最上面的 version5.0 是我们上次提交是的备注 由于我们这次提交的还是5.0版本所以就不用修改 下面的
modified: index.html
则表明我们这次重修提交修改了 index.html 文件按 Esc+w+q 我们保存退出
提交成功 再次查看
git log --oneline
发现只有五次提交说明我们刚刚是在修改 而不是再次提交
现在我们把工作区的 index.html 删除 然后使用
git reset --hard 65a7643
(65a7643为git log 打印出的版本号 ) 来回退到 我们刚刚修改提交的 version 5.0 版本 如果修改了<h1>
应该为this is Version 5.0
执行命令
rm -rf index.html
然后git reset --hard 65a7643
如上图 我们修改成功
git commit --amend
命令 使用成功
相关阅读
git 忽略文件, ‘.gitignore’ 与 ‘.git/info/exclude
一、.gitignore和exclude区别 .gitignore:需要提交的Git仓库,多用于忽略公共性的文件,例:java产生的.classpath | .project | logs/
实验室的现代化进程1——基于NAS架设并安装gitLab的建
碎碎念的吐槽(前言背景): 作为一个非计算机专业的工科研究生,最近实验室工程项目的越来越多,很多工作也转向了程序开发与算法实现,但课
错误日志:Fetch failed: cannot lock ref 'refs/remotes/client-side/v1.4.0': unable to resolve reference 'refs/remotes/clien
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在
Git学习总结(20)——阿里AoneFlow分支管理模式总结
说到分支管理模式,我们最耳熟能详的莫过于 TrunkBased 和 GitFlow。TrunkBased 模式 是持续集成思想所崇尚的工作方式,它由单个主干