git的一些撤销/回退操作
在个人开发和协同开发过程中,我们是通过git把我们本地仓库和远程仓库联系起来,首先 我们要知道的是git 有工作区、暂存区和Git仓库。我们本地编写的代码,不执行git命令都处于工作区。
执行 git add 将工作区的文件标记为已暂存,添加到暂存区。
执行 git commit 将标记的已暂存的文件都保存到本地仓库。
而正常开发过程中,我们经常要使用到的git命令就是: git add、 git commit 、git push、git pull、git merge 等,但这些命令都是在一切操作都很顺利的过程下,如果需要有一些撤回和回退操作的话,又会有哪些命令可以帮助我们呢,接下来我们就一起梳理一下:
1.工作区的撤销
本地的修改,没有操作git命令,我们可以通过git diff来查看修改的内容。
如果我们可能只是写了一些测试代码,想取消这些修改,可以通过下面命令撤销:
// 全部文件撤销
git checkout -- .//单个文件撤销
git checkout -- [filename]
此时再 git diff 就没有输出。 注意:上面的命令一旦执行了,之前的修改就找不回来了。
2. 暂存区的撤销
本地写完代码之后,我们会通过 git add 添加到暂存区,此时我们想看文件的修改 git diff不会输出任何东西。想查看暂存区的修改,可以执行下面命令:
git diff --staged
这个时候可以看到我们 git add 之前一样的输出。
如果我们想将修改从暂存区撤回,可以通过下面的方式:
// 全部文件撤销
git reset .//单个文件撤销
git reset [filename]
回到提交暂存前的工作区状态。
3. 提交到本地仓库的撤销
提交本地仓库,我们会通过下面命令:
git commit -m "commit一次" // 查看一下操作记录
git log
想撤销这一次的commit 可以找到上一次commit的记录:
git checkout a6dbda177723c7615a095f494e6152fda12be11f// 或者
git reset --hard HEAD~1//再次查看日志
git log
如果不是想撤销最新一次的commit,想撤回之前的某一次commit:
git revert 99053897bc56d302af8f0d4ed68311d21af3174c
revert之后,会在提交历史的最前面生成一个新的revert commit 记录。
4. 修改commit 的message
commit 文案写错了,然后想要修改:
git commit --amend -m "修改正确的msg"
不会多生成一条commit记录,只是把之前的一次修改掉。
5. 合并到上一次commit
第一次修改了文件,提交了一次commit;后面又修改了一些东西,不想生成两条commit:
git commit --amend
6.撤销merge
如果git merge 分支之后有冲突,想先撤回这次merge:
git merge --abort
因为最近的工作过程中,有一些意外情况进行了一些git的回退操作,所以总结了以上几种回退和撤回操作,也希望可以给大家带来一些帮助~
git的一些撤销/回退操作相关推荐
- linux的vim撤销命令,[Linux] Vim 撤销 回退 操作
在vi中按u可以撤销一次操作 u 撤销上一步的操作 Ctrl+r 恢复上一步被撤销的操作 注意: 如果你输入"u"两次,你的文本恢复原样,那应该是你的Vim被配置在Vi兼容模式 ...
- git撤销/回退操作
以config文件为例 修改后的撤销 git status后提示为modified已修改的文件, 撤销方法git checkout -- config,比如如果vendor目录下有多个文件修改,且需要 ...
- 【git系列】git命令之撤销回退篇
撤销工作区修改 工作区修改代码,并未存入暂存区. 适用场景:工作区对某段逻辑代码进行优化,突然发现存在一定的问题,性能不一定比之前提交的代码优秀,放弃本次对文件的修改. #撤销指定文件 git che ...
- linux vim怎么回退,[Linux] Vim 撤销 回退 操作
在vi中按u可以撤销一次操作 u 撤销上一步的操作 Ctrl+r 恢复上一步被撤销的操作 注意: 如果你输入"u"两次,你的文本恢复原样,那应该是你的Vim被配置在Vi兼容模式了. ...
- 【Git】Git 本地的撤销修改和删除操作
一:撤销操作 比如我现在在readme.txt文件里面增加一行 内容为555555555555,我们先通过命令查看如下: 在我未提交之前,我发现添加5555555555555内容有误,所以我得马上恢复 ...
- git常见的回退操作
有时候在操作git的时候,不免有时提交或修改过快,需要进行一些回退操作,下面来看一下. lj@lj-virtual-machine:~/111111/git/gittest$ git status 位 ...
- vi格式化代码,撤销,重做,回退操作
在vim中其实也有像Eclipse中的ctrl + shift +F 的自动格式化代码的操作,尽管非常强大,但是通常会破坏代码的原有的缩进, 所以不建议在python这样缩进代替括号的语言中和源程序已 ...
- html5 observer api,基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作
MutationObserver介绍 MutationObserver给开发者们提供了一种能在某个范围内的DOM树发生变化时作出适当反应的能力.该API设计用来替换掉在DOM3事件规范中引入的Muta ...
- git commit -m 撤销操作
1. 撤销本次commit-m操作 返回到add成功状态 git reset --soft HEAD^ 2.撤销本次commit+add 返回本地未提交状态 git reset --hard HEAD ...
最新文章
- 机房安防系统常见故障原因及处理方法
- div中插入图片_Web前端开发基础知识,设置网页背景图,如何在网页中插入图片...
- html语言中div怎么起名,css如何命名?
- Java的并发编程中的多线程问题到底是怎么回事儿?
- KeyMob:为国内应用开发者管理的广告聚合平台
- 浏览器获取设备信息_一条命令获取 IE 浏览器保存网站的账号和密码信息
- python零基础8分钟基础入门
- “打工皇帝”唐骏借收购重返IT
- easymock接口模拟_EasyMock好又严格的模拟
- 单片机1到十五c语言,手把手教你学单片机的C语言程序设计(十五).pdf
- openlayers2渐变色渲染
- 10分钟搭建你的云端微信机器人️️️
- 力扣LeetCode刷题8 机器人大冒险
- ultravnc服务器不接收消息,远程控制软件UltraVNC的教程
- Java判断闰年和平年
- poi 公式转 图片_三阶魔方公式符号图解V2.0(2017/12/15)_碧海风云
- Windows 静态库函数名称问题
- 支持Apple Music无损音频的耳机型号以及iPhone、iPad
- ipcMain和ipcRenderer的通信
- motan学习笔记 二 motan架构分析
热门文章
- NYOJ 237 NYOJ 239 二分图 最大匹配模板题 游戏高手的烦恼 月老的难题 两个题一样
- 谈谈VR游戏中的性能优化
- http协议1.x/2.x区别
- 苹果home兼容问题修改--苹果fixed定位被遮挡-或者距离太近
- 如何查看自己的淘宝号使用多久了,淘龄怎么查?
- uni 登录token方法_uni-app 中保持用户登录状态
- TP、TN、FP、FN 含义
- 李沐-斯坦福《实用机器学习》-01章
- python如何回退_Pycharm技巧之代码跳转该如何回退
- 常见字读音(粤语)---(3)