首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于git的reset指令说明-soft、mixed、hard

在版本管理中,最常用和最重要的是重置提交的版本,恢复后悔做了的事。大家都知道用reset命令。但是有几种形态需要整理共享一下,也方便我自己查阅。...二、reset soft(更改HEAD)(恢复git commit的操作) 软重置。...本来origin的HEAD和本地的HEAD一样,如果你指定--soft参数,Git只是单纯的把本地HEAD更改到你指定的版本那么,整个过程中,就HEAD的定义发生了变化,其他像Working Copy...2.hard(更改三者) --hard参数将会将会重置(HEAD,INDEX(STAGING),WORKING COPY),强制一致。...1、soft: 重置git commit 2、mixed: 重置git commit 和 git add 3、hard: 重置git commit 和 git add 和工作副本的修改。

3.1K20

聊聊 git 中 detached HEAD、amend、rebase 和 reset

聊聊 git 中 detached HEAD、amend、rebase 和 reset 分离头导致 commit 丢失 分离头是指 checkout 历史版本后,做了修改并提交 commit,这时切回别的分支...查看提交记录 git log --oneline 可以看到有两个提交记录 7c53c63 (HEAD -> master) 创建文件 c034a61 init 这时 checkout 到历史版本 Note...HEAD 和 HEAD 的上上个版本的比较,等同于 git diff HEAD HEAD^1^1 也等同于 git diff HEAD HEAD~2 所以你以为有 git diff HEAD HEAD...init server app 合并 如果有冲突那么解决冲突然后 rebase --continue 或放弃 rebase --abort checkout、clean 和 reset 的回退 checkout...和 reset 都是用于恢复文件的,但两者的区别是 checkout 是恢复工作区的,reset 则是恢复暂存区到工作区的。

2.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Git回滚和撤销---吃上后悔药、坐上时光机

    提交分3步:add、commit、push,回滚和撤销也分3种情况: 撤销add 撤销commit 回滚push,也就是回滚远程仓库的代码 撤销add 这种情况有可能是在 git add 操作的时候一些不必要的文件也加进来了...//删除暂存区中的文件记录 git rm --cached 文件名 //或是下面的命令,推荐用下面这种 git reset HEAD 文件名 上面2种方法有什么区别呢?...只不过有个问题,暂存区中的内容和工作区中的内容要不要跟着改呢?...Git可以让我们自己选——分别对应reset 的3个参数:mixed、soft和hard mixed:这个是默认值,效果是暂存区的内容会被替换,工作区的内容不变(也就是撤销commit,同时撤销add,...reset --hard HEAD^ //或者 git reset HEAD^ --hard PS:如果只是想修改刚刚commit时写的提交备注,不用 reset,可以用下面的命令: //修改最新一次提交的说明信息

    60420

    使用git上传我们的故事

    在diff后边加HEAD也可以查看不同 上面有三个查看修改状态,到底有什么区别呢?...可以实现的命令比较多 回到上一个版本:git reset --hard HEAD^ 回到上上个版本:git reset --hard HEAD^^ 回到上上个版本:git reset --hard HEAD...~2 回到前100个版本:git reset --hard HEAD~100 或者使用id号码进行退回,这里需要查看对应版本的id号码 git reset --hard 3ccb20c 情况四: 现在退回到过去的版本了...git reset 当前文件名称 情况三:把修改后的文件已经add和commit操作了,如何返回上一个版本或者指定版本 git reset --hard HEAD^ #回到上一个版本...git reset --hard HEAD^^ #回到上上个版本 git reset --hard HEAD~2 #回到上上个版本 git reset --hard HEAD

    29220

    Git面试常见问题

    命令行 SourceTree SmartGit git add 和git stage有什么区别 Git仓库的三个组成部分:工作区(Working Directory)、暂存区(Stage)、历史记录区(...git reset 、git revert和git checkout 有什么区别? 共同点:用来撤销代码仓库中的某些更改。 不同点 git reset可以将一个分支的末端指向前一个commit。...--hard:影响工作区,暂存区和历史记录区。 注意,因为git reset是直接删除commit记录,从而会影响其他开发人员的分支,所以不要在公共分支做这个操作。...git checkout 可以将HEAD移到一个新的分支,并更新工作目录。以为可能会覆盖本地的修改,所以执行这个指令之前,你需要stash或者commit暂存区和工作区的更改。...然后从文件的层面来说: git reset 只是把文件从历史记录区拿到暂存区,不影响工作区的内容,而且不支持 --mixed、--soft 和 --hard。

    1K50

    git学习总结02 — 版本控制

    本地库版本管理 reset 2.1 reset 操作 HEAD 指针的三种方式 版本的前进后退本质是 HEAD 指针的移动,有三种移动指针进行版本控制的方式:索引、^、~。 # 1....使用^符号后退指定步数 $ git reset --hard HEAD^ $ git reset --hard HEAD^^^ # 后退3步 # 3....同时 reset 命令有三个参数,对应三个恢复等级:--soft、--mixed、--hard。 2.2 --soft 本地库移动 HEAD 指针,暂存区和工作区内容不变。...如下图,硬重置不保留已提交的修改,直接将当前分支的状态恢复到某个特定提交下,同时将当前工作区和暂存区中的文件全部移除。 [reset-hard.gif] 3....的 hard 参数重置 HEAD 指针到最新记录,刷新暂存区和工作区状态,找回版本库中的删除文件 # 删除操作已提交到本地库 $ git reset --hard [历史记录指针位置] # 删除操作尚未提交到本地库

    1K107

    git版本库代码回退的技巧

    如下图 命令语法格式如下: git reset [--soft | --mixed | --hard] [HEAD] 其中,HEAD对应的值和git revert指令一样,可以使用多个^符号,也可以使用...该指令有几个模式,分别是mixed、soft、hard。 --mixed 为默认,可以不用带该参数,用于重置版本库中的文件与某一次的提交(commit)保持一致,工作区文件内容保持不变。...如下示例 $git reset --soft HEAD^2 # 重置上上个版本 --hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交。...如下示例 $git reset –hard HEAD^3 # 重置上上上一个版本 $git reset –hard bae128 # 重置到某个版本。...$git reset --hard origin/master # 将本地版本的状态重置到和远程的一样 注意:谨慎使用 –hard 参数,它会删除重置点之前的所有信息。

    1.5K10

    Git 回滚代码的正确姿势git revert 和 git reset 的区别

    git revert 和 git reset 的区别 先看图: sourceTree 中 revert 译为提交回滚,作用为忽略你指定的版本,然后提交一个新的版本。...reset 为 重置到这次提交,将内容重置到指定的版本。git reset 命令后面是需要加2种参数的:–-hard 和 –-soft。这条命令默认情况下是 -–soft。...代码回退 默认参数 -soft,所有commit的修改都会退回到git缓冲区 参数--hard,所有commit的修改直接丢弃 $ git reset --hard HEAD^ 回退到上个版本...$ git reset --hard commit_id 退到/进到 指定commit_id 推送到远程 $ git push origin HEAD --force 可以吃的后悔药->版本穿梭...3}: reset: moving to 470e9c2 2c26183 HEAD@{4}: reset: moving to 2c26183 0f67bb7 HEAD@{5}: revert: Revert

    2.6K80

    Git 代码回滚

    git revert 和 git reset 的区别 sourceTree 中 revert 译为提交回滚,作用为忽略你指定的版本,然后提交一个新的版本。新的版本中已近删除了你所指定的版本。...reset 为 重置到这次提交,将内容重置到指定的版本。git reset 命令后面是需要加2种参数的:–-hard 和 –-soft。这条命令默认情况下是 -–soft。...代码回退 默认参数 -soft,所有commit的修改都会退回到git缓冲区 参数--hard,所有commit的修改直接丢弃 $ git reset --hard HEAD^ 回退到上个版本...$ git reset --hard commit_id 退到/进到 指定commit_id 推送到远程 $ git push origin HEAD --force 可以吃的后悔药->版本穿梭...3}: reset: moving to 470e9c2 2c26183 HEAD@{4}: reset: moving to 2c26183 0f67bb7 HEAD@{5}: revert: Revert

    1.2K10

    Git基础-git的历史版本查看与版本回退(版本切换)

    ------------------------------------------------------------------------------- 5.在git的版本管理中,有一个叫做`HEAD...--hard命令回退/切换到某个历史版本; 3.git reset --hard 命令会重置 本地仓库、暂存区和工作区,三者的状态保持一致!...版本回退/切换的命令: 1.git reset --hard [索引值] : 可切换到任意版本[推荐使用这个方式] 2.git reset --hard HEAD^ : 只能后退,一个 ^ 表示回退一个版本...依次类推 3.git reset --hard HEAD~n :只能后退,n表示后退n个版本 3.1 git reset –hard HEAD^ ^ : 一个^ 表示回退一个版本; 两个^表示回退两个版本...n个^表示回退n个版本 下面看一下具体的操作: 1.当前的版本及文件数据: 2.回退到上一个版本 3.2 git reset –hard HEAD~n ~n : 表示直接回退到 n 个版本; 是

    3.3K10

    超详细!手把手带你快速入门 GitHub!

    到底Git和GitHub有什么区别呢?...git reset 命令语法格式具体如下: git reset [--soft | --mixed | --hard] [HEAD] --mixed是默认参数,可以不带,用于重置暂存区的文件与上一次的提交...⚠️谨慎使用--hard 参数,它会删除回退点之前的所有信息 git reset --hard HEAD~3 # 回退到上上上个版本 git reset --hard 1de43 # 回退到指定版本...git reset --hard origin/master # 本地状态回退到和远程相同 HEAD git reset HEAD^ # 回退到所有内容的上一个版本 git reset HEAD...1 上一个版本 HEAD^2 上上一个版本 HEAD^3 上上上一个版本 以此类推… 总结 HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard

    86120

    git命令

    --hard / # 将本地的状态回退到和远程的一样 git pull # 远程获取代码并合并本地的版本 9.git reset参数含义图解...git reset 命令语法格式如下: git reset [--soft | --mixed | --hard] [HEAD] **--mixed** 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交...$ git reset --soft HEAD~3 # 回退上上上一个版本 **--hard** 参数**撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交...**: git reset --hard HEAD $ git reset –hard HEAD~3 # 回退上上上一个版本 $ git reset –hard bae128 # 回退到某个版本回退点之前的所有信息...$ git reset --hard origin/master # 将本地的状态回退到和远程的一样 10.git push免密 (1) 查看通信方式 git remote -v (2) 如果是

    50720
    领券