Git撤销操作命令
使用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 分支名
注意:
- 命令行中的空格
- 其实上面的命令,在Git的命令行窗口中差不多都有提示。。。。。。
Git撤销操作命令的更多相关文章
- git 撤销提交的文件
一.问题 近期在使用git时遇到一个问题,就是在git上传文件时,将一个100兆的大文件添加到了git,并执行了push操作,这时在上传完毕后,会提示这个错误 Large files detected ...
- Git 撤销修改
Git 撤销修改 增补提交 git commit –C HEAD –a --amend -C表示复用指定提交的提交留言,这个例子中是HEAD,实际上可以指定其他有效的提交名称. 如果参数是小写的-c, ...
- Git常用操作命令与图解
Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...
- git第八节---git 撤销和回滚
# git 撤销 1. 未添加进暂存区的撤销 --未git add 2.添加进暂存区的撤销-- 已git add 未git commit 未添加进暂存区的撤销命令:git checkout -- ...
- git撤销本地提交但未push的记录
### git撤销本地提交但未push的记录 前言:有时候本地执行commit命令或者cherry-pick命令后发现提交了不需要提交的东西,就需要把已提交的commit记录撤销下来,简单做下记录 撤 ...
- 2018.4.23 git常用操作命令收集(转)
Git常用操作命令收集: 1. 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v ...
- Git常用操作命令收集
Git常用操作命令收集 1.进入本地仓库访问位置之后执行命令 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远 ...
- 从零开始使用git第三篇:git撤销操作、分支操作和常见冲突
从零开始使用git 第三篇:git撤销操作.分支操作和常见冲突 第一篇:从零开始使用git第一篇:下载安装配置 第二篇:从零开始使用git第二篇:git实践操作 第三篇:从零开始使用git第三篇:gi ...
- git自己操作命令组集合
git自己操作命令组集合 一.总结 一句话总结: 1.官方有非常详细的中文文档资料,任何组件或者插件记得看有没有文档资料,这个用起来快,配合百度. 2.git clone命令是直接把git仓库上面的代 ...
随机推荐
- maven仓库私服配置
私服访问地址:[[http://192.168.1.252:9080/nexus/content/groups/public/ 地址]] 1. 打开eclipse/myeclipse的maven插件: ...
- Myeclipse 多版本共存
Myeclipse2015 stable2.0 和Myeclipse10 共存的解决办法: 1. 准备内容: 1) myeclipse-2015-stable-2.0-offline-installe ...
- [学点英语]扎克伯格给女儿的信,translation of zucherber's letter to her daughter( Chinese version)
A letter to our daughter 扎克伯格写给女儿的信 Mark Zuckerberg·Tuesday, December 1, 2015 Dear Max, 亲爱的玛克斯 You ...
- PHP 开发 APP 接口 学习笔记与总结 - JSON 结合 XML 方式封装通信接口
要求: 1.在一个类中封装多种数据通信方法(JSON,XML),并且只通过一个入口选择需要的数据通信格式 2.客户端开发工程师可以自行选择数据传输格式(GET 方式) response.php < ...
- Python实用工具包Scrapy安装教程
对于想用每个想用Python开发网络爬虫的开发者来说,Scrapy无疑是一个极好的开源工具.今天安装之后觉得Scrapy的安装确实不易啊.所以在此博文一篇,往后来着少走弯路. 废话不多说了,如果 ...
- jwplayer直播
<div class='container'> <div class='row'> <div class='col-sm-10 col-md-10 col-sm-offs ...
- space ship
按下向上箭头,飞船速度不是一直增加 而且飞船移动的方向是固定的不是有角度的 按下箭头飞船可以飞了,但是不减速 加一个keyup handler就可以啦!可以一直加速,不按的时候也可以减速 按下向下按钮 ...
- css中textarea去掉边框和选中后的蓝色边框问题的解决方法
我们在设计网页的输入框时,有时会遇到需要把textarea的边框去掉的问题,经过测试,下面的代码是可以的. textarea{ border: solid 0px; outline:none; }
- 回退(pop&present)到根页面(根控制器)的方法,很不错~
http://blog.csdn.net/assholeu/article/details/45897035
- QList内存释放(看它内部存储的是否是Object,另外还有qDeleteAll)
QList<T> 的释放分两种情况: 1.T的类型为非指针,这时候直接调用clear()方法就可以释放了,看如下测试代码 #include <QtCore/QCoreApplicat ...