git reset命令

git reset有两种用法,一种用法在命令中包含路径<paths>,这种方法不会改变引用,也不会改变工作区,而是用指定提交状态下的文件替换掉暂存区的文件,相当于取消之前git add操作。

第二种方法,不使用路径<paths>则会重置引用。

命令格式为:git reset [--soft | --mixed | --hard] [<commit>]

参数--soft  只更改引用的指向,不更改缓存区和工作区

参数--mixed或不使用参数 既更改引用也重置缓存区 但是不改变工作区

参数--hard 不但更改引用重置缓存区 也对工作区进行更改

git reset HEAD或git reset  不改变引用也不改变工作区,只将之前用git add命令更新到暂存区的内容撤出暂存区

git reset -- filename 仅仅将指定文件的改动撤出暂存区,工作区和引用不变。

git reset HEAD^   工作区不变,暂存区和引用都回退一次

git reset --hard HEAD^   彻底撤销提交,工作区,暂存区和引用都退回到上一次的提交状态。

个人感觉git reset命令,需用在工作做反复使用才能熟练掌握。

时间: 2024-08-28 23:14:43

git reset命令的相关文章

【Git 学习】深入理解git reset 命令

重置命令(git reset)是Git 最常用的命令之一,也是最危险最容易误用的命令.来看看git reset命令用法. ----------------------------------------------------------------------------------------------------------- 用法一:git reset [-q]  [<commit>] [--] <paths>..... 用法二:git reset [--soft | -

2. git reset 命令

1.命令: git reset --soft 提交id案例: git reset --soft 1c27eac023b6a66a9d40b460cd8bbc6e564be9e9结果: 会将版本库中的文件内容还原到该提交id那刻时的内容. 2.命令: git reset 提交id案例: git reset 1c27eac023b6a66a9d40b460cd8bbc6e564be9e9结果: 会将版本库和暂存区中的文件内容还原到该提交id那刻时的内容. 3.命令: git reset --hard

git reset命令之撤销提交

使用git reset 可以撤销提交 撤销提交有三种方式 Panel content 原文地址:https://www.cnblogs.com/mf001/p/8668690.html

Gi之(二)Git基础命令

三个工作区域 使用Git之前,首先要弄清Git的三个管理区域,有助于理解Git的运行原理,以及每个Git命令对文件造成的影响. 对于任何一个文件,在本地的Git内部都有三种状态: l   已修改(modified) 表示修改了某个文件,但还没有提交保存.包括新增.删除了一个文件,也属于已修改状态的一种. l   已暂存(staged) 表示把已修改的文件放到了暂存区,也就是放到了下次提交时的清单中. l   已提交(committed) 表示该文件已经被安全地保存在本地数据库中了. 三种状态对应

git 常用命令及解析 由浅入深

笔者用的是windows系统,不过并没有什么影响. Git  分布式版本控制系统. 为了让初学git的人明白git是干什么的,有什么意义 笔者觉得先来介绍git作为版本控制器是怎么运作的会让大家对后边的内容有更好的掌握. Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD.工作区就是我们的代码存放的位置. 我们把文件往Git版本库里添加的时候,是分两步执行的: 第一步

git reset soft,hard,mixed之区别深解

GIT reset命令,似乎让人很迷惑,以至于误解,误用.但是事实上不应该如此难以理解,只要你理解到这个命令究竟在干什么. 首先我们来看几个术语 HEAD 这是当前分支版本顶端的别名,也就是在当前分支你最近的一个提交 Index index也被称为staging area,是指一整套即将被下一个提交的文件集合.他也是将成为HEAD的父亲的那个commit Working Copy working copy代表你正在工作的那个文件集 Flow 当你第一次checkout一个分支,HEAD就指向当前

如何理解git checkout -- file和git reset HEAD -- file

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374831943254ee90db11b13d4ba9a73b9047f4fb968d000 首先需要知道工作区(working diretory)和暂存区(Stage)这两个概念.工作区的该概念不仅包含你实际操作.更改的文件还应当包括当前修改但未add存入暂存区的文件变化信息,暂存区的作用则是临时存储文件的变化信息,在gi

Git学习01 --git add, git commit , git log ,git status, git reset --hard, head

特点:Git极其强大的分支管理:分布式版本 集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器.中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆.集中式版本控制系统最大的毛病就是必须联网才能工作. 使用Git 1.创建版本库 首先,选择一个合适的地方,创建一个空目录,通过git init命令把这个目录变成Git可以管理

git常用命令与AndroidStudio常用快捷键

git相关内容: 产生密钥:cd ~/.ssh (C:\Users\账户名称\.ssh)生成密钥:ssh-keygen -t rsa -C "[email protected]"Enter就行.然后,会提示你输入密码,如下(建议输一个,安全一点,当然不输也行): 添加公钥到你的github帐户:1,登陆你的github帐户.然后 Account Settings -> 左栏点击 SSH Keys -> 点击 Add SSH key2.然后你复制上面的公钥id_rsa.pub