必威体育Betway必威体育官网
当前位置:首页 > IT技术

Git 初接触 (三) Git的撤销操作 git commit --amend

时间:2019-08-08 22:11:04来源:IT技术作者:seo实验室小编阅读:79次「手机版」
 

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 65a764365a7643为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的建

碎碎念的吐槽(前言背景): 作为一个非计算机专业的工科研究生,最近实验室工程项目的越来越多,很多工作也转向了程序开发与算法实现,但课

Git Fetch failed解决办法

错误日志:Fetch failed: cannot lock ref 'refs/remotes/client-side/v1.4.0': unable to resolve reference 'refs/remotes/clien

Git使用详细教程

一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在

Git学习总结(20)——阿里AoneFlow分支管理模式总结

说到分支管理模式,我们最耳熟能详的莫过于 TrunkBased 和 GitFlow。TrunkBased 模式 是持续集成思想所崇尚的工作方式,它由单个主干

分享到:

栏目导航

推荐阅读

热门阅读