使用Git的过程中,失误无法避免,虽然Git很强,但是有些失误,无法挽回。在这里我介绍一些Git的撤销命令。

撤销对文件的修改

如下图所示的情况,你修改了文件,但是不想保存对文件的修改。

根据具体情况,你可以选择执行下面的命令:
git checkout -- <文件名>  #撤销对某个文件的修改

git checkout -- .  #撤销对所有文件的修改

删除新建的文件

如下图所示的情况,注意"Untracked files"提示,你新建了文件,但是想删除掉新建的文件。

根据具体情况,你可以选择执行下面的命令:

git clean -f   #删除 untracked files

git clean -fd  #连 untracked 的目录也一起删掉

git clean -n  #在用上述 git clean前,强烈建议先执行git clean -n 看看会删掉哪些文件,防止重要文件被误删

不过你也可以直接简单粗暴,手动删除或者执行window的rm命令,删除文件,不过执行git rm命令是没法做到的,必须先add,然后执行git rm -f <文件名>强制删除文件。。。。

撤销暂存区文件

如下图所示的情况,你想撤销add命令添加到暂存区的文件。

根据具体情况,你可以选择执行下面的命令:

git reset head <文件名>   #撤销对某个文件的add命令

git reset head .  #撤销所有文件的add命令

撤销已暂存的文件

你想撤销commit命令,你可以执行下面的命令:

git log  #先执行这条命令查看commit的历史

git reset --hard <commit_id> #跳到某次commit

撤销之后,由于本地版本低于线上版本,想要提交代码,只能强行提交,覆盖线上,可以使用下面的命令:

git push -f origin 分支名

注意:

  1. 命令行中的空格
  2. 其实上面的命令,在Git的命令行窗口中差不多都有提示。。。。。。

Git撤销操作命令的更多相关文章

  1. git 撤销提交的文件

    一.问题 近期在使用git时遇到一个问题,就是在git上传文件时,将一个100兆的大文件添加到了git,并执行了push操作,这时在上传完毕后,会提示这个错误 Large files detected ...

  2. Git 撤销修改

    Git 撤销修改 增补提交 git commit –C HEAD –a --amend -C表示复用指定提交的提交留言,这个例子中是HEAD,实际上可以指定其他有效的提交名称. 如果参数是小写的-c, ...

  3. Git常用操作命令与图解

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...

  4. git第八节---git 撤销和回滚

    # git 撤销 1. 未添加进暂存区的撤销  --未git add 2.添加进暂存区的撤销--  已git add 未git commit 未添加进暂存区的撤销命令:git checkout -- ...

  5. git撤销本地提交但未push的记录

    ### git撤销本地提交但未push的记录 前言:有时候本地执行commit命令或者cherry-pick命令后发现提交了不需要提交的东西,就需要把已提交的commit记录撤销下来,简单做下记录 撤 ...

  6. 2018.4.23 git常用操作命令收集(转)

    Git常用操作命令收集: 1. 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v ...

  7. Git常用操作命令收集

      Git常用操作命令收集 1.进入本地仓库访问位置之后执行命令 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远 ...

  8. 从零开始使用git第三篇:git撤销操作、分支操作和常见冲突

    从零开始使用git 第三篇:git撤销操作.分支操作和常见冲突 第一篇:从零开始使用git第一篇:下载安装配置 第二篇:从零开始使用git第二篇:git实践操作 第三篇:从零开始使用git第三篇:gi ...

  9. git自己操作命令组集合

    git自己操作命令组集合 一.总结 一句话总结: 1.官方有非常详细的中文文档资料,任何组件或者插件记得看有没有文档资料,这个用起来快,配合百度. 2.git clone命令是直接把git仓库上面的代 ...

随机推荐

  1. maven仓库私服配置

    私服访问地址:[[http://192.168.1.252:9080/nexus/content/groups/public/ 地址]] 1. 打开eclipse/myeclipse的maven插件: ...

  2. Myeclipse 多版本共存

    Myeclipse2015 stable2.0 和Myeclipse10 共存的解决办法: 1. 准备内容: 1) myeclipse-2015-stable-2.0-offline-installe ...

  3. [学点英语]扎克伯格给女儿的信,translation of zucherber's letter to her daughter( Chinese version)

    A letter to our daughter 扎克伯格写给女儿的信   Mark Zuckerberg·Tuesday, December 1, 2015 Dear Max, 亲爱的玛克斯 You ...

  4. PHP 开发 APP 接口 学习笔记与总结 - JSON 结合 XML 方式封装通信接口

    要求: 1.在一个类中封装多种数据通信方法(JSON,XML),并且只通过一个入口选择需要的数据通信格式 2.客户端开发工程师可以自行选择数据传输格式(GET 方式) response.php < ...

  5. Python实用工具包Scrapy安装教程

       对于想用每个想用Python开发网络爬虫的开发者来说,Scrapy无疑是一个极好的开源工具.今天安装之后觉得Scrapy的安装确实不易啊.所以在此博文一篇,往后来着少走弯路. 废话不多说了,如果 ...

  6. jwplayer直播

    <div class='container'> <div class='row'> <div class='col-sm-10 col-md-10 col-sm-offs ...

  7. space ship

    按下向上箭头,飞船速度不是一直增加 而且飞船移动的方向是固定的不是有角度的 按下箭头飞船可以飞了,但是不减速 加一个keyup handler就可以啦!可以一直加速,不按的时候也可以减速 按下向下按钮 ...

  8. css中textarea去掉边框和选中后的蓝色边框问题的解决方法

    我们在设计网页的输入框时,有时会遇到需要把textarea的边框去掉的问题,经过测试,下面的代码是可以的. textarea{ border: solid 0px; outline:none; }

  9. 回退(pop&present)到根页面(根控制器)的方法,很不错~

    http://blog.csdn.net/assholeu/article/details/45897035

  10. QList内存释放(看它内部存储的是否是Object,另外还有qDeleteAll)

    QList<T> 的释放分两种情况: 1.T的类型为非指针,这时候直接调用clear()方法就可以释放了,看如下测试代码 #include <QtCore/QCoreApplicat ...