Git操作:reset
Git 操作:reset
在了解reset的用法前,建议读者需首先明晰git仓库的结构(working tree,index,local repository)官方文档中这样定义:git-reset - Reset current HEAD to the specified state。
current HEAD是local repository中指向当前所在branch的最新一次commit的标签,因此reset完成的是一个通过重置HEAD以完成版本回退操作。
使用方法:
git reset [-q] [<tree-ish>] [--] <pathspec>…
git reset [-q] [--pathspec-from-file=<file> [--pathspec-file-nul]] [<tree-ish>]
git reset (--patch | -p) [<tree-ish>] [--] [<pathspec>…]
git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
前三种用于将特定路径(pathspec)的Index回退到某个branch的版本,注意着仅仅是对Index缓冲区的修改,应用场景较少,常用于git reset HEAD <file>以将某个在Index中已经修改但未commit的文件重置为add前的版本,相当于add的反操作。
在工作中我们常常希望使用reset将整体代码回退到某一版本,使用较多的是上述第四种中的soft、hard与mixed用法,默认参数是–mixed和HEAD(local respository中的当前版本)。下面具体介绍其用法。
reset --soft
git reset --soft <commit>
仅仅将local repository重置为某一次commit的版本(将HEAD标签指向为该commit),在这一次commit后所有的修改都会变成未commit的状态。
reset --mixed(default)
git reset <commit>
将local repository和Index同时重置为该commit的版本,working tree不变,因此可能会产生很多没有add的文件,但不存在未commit的文件。
reset --hard
git reset --hard <commit>
同时将local repository、index和working tree回退到某个commit的版本,注意工作区working tree中的代码也会回退到该版本。
Git操作:reset相关推荐
- git操作手册_基本的Git手册
git操作手册 介绍 (Introduction) Hi! I am Sanjula, and in this guide I hope to teach you a little bit about ...
- 手把手教你熟悉Git操作
文章目录 Git 一.版本控制 二.Windows安装Git 1. Git 安装 2. Git 一次性配置 三.理解Git文件的三种状态与工作模式 四.创建版本库并提交文件 1. 初始化git 2. ...
- Git操作手册|命令速查表
Git操作手册|命令速查表 这篇文章主要介绍Git分布式版本管理与集中式管理的一些差异,总结下Git常用命令作为日后的速查表,最后介绍Git进阶的一些案例. 本文分为以下几个部分: Git与SVN差异 ...
- 【Tools】git操作总结
git操作总结 下载的工程带有子工程submodule: 当使用git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令 ...
- Git操作常用的命令都在这里了
转载自 Git操作常用的命令都在这里了 创建仓库 git init 在当前目录执行,会生成 .git目录文件,这个和SVN一致. 提交到仓库 git commit -m "first com ...
- git 修改分支名字_基础Git操作与GitHub协作吐血整理,收好!| 原力计划
作者 | 光子俊来源 | CSDN博客出品 | CSDN(ID:CSDNnews) Git介绍 Git是目前世界上最先进的分布式版本控制系统,可以为我们管理项目.构建工程.多人协作提供便利,作为一个爱 ...
- Intellij 中的git操作 转!
http://blog.csdn.net/lovesummerforever/article/details/50032937 Git原理以后会分章节介绍,本次主要说一下intellij怎样操作git ...
- git 修改commit_结合IDEA与命令行,解决常用git操作与特殊情况的最佳实践
本文适合总觉得git操作不够顺滑,被各种分支问题搞得焦头烂额的Java业务开发同学. 如果是git的初学者,建议搜索下git其他入门教程,这方面资料很多,非常推荐git init一个新项目,然后本地操 ...
- 基础Git操作与GitHub协作吐血整理,收好!| 原力计划
作者 | 光子俊 来源 | CSDN博客 出品 | CSDN(ID:CSDNnews) Git介绍 Git是目前世界上最先进的分布式版本控制系统,可以为我们管理项目.构建工程.多人协作提供便利,作为一 ...
最新文章
- 鸿洋android屏幕适配四部曲-传送门
- python怎么安装myqr模块-python二维码操作:对QRCode和MyQR入门详解
- php7 imagick扩展,php7安装imagick扩展
- crontab每小时运行一次(转)
- Linux用php上传表单文件,文件太大提示[413 Request Entity Too Large]
- [CF559C]Gerald and Giant Chess
- 不安装iTunes实现USB数据线与电脑传文件
- 论软件架构建模技术与应用
- spark中RSS工具简介
- windows安装sk-video模块
- vue使用天气API接口
- html 游戏键盘,用html+js+css做一个模拟键盘
- 免费的 AI 动作捕捉工具 #Rokoko Video
- windows下python如何安装模块或包? How to install package or module in windows OS when using PYTHON?
- 用js处理打卡记录excel表
- php微信公众号开发之网页授权
- 安装卡巴斯基个人网络版KIS 7.0之后的蓝屏解决方案
- NFSTAT寄存器 的RnB的bit4
- PHP学习之路(一)——初学PHP
- 临界比例度法 matlab程序,扩充临界比例度法整定参数及PID控制.doc