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

如何在 Git 中重置、恢复,返回到以前的状态

在本文中,我们将带你了解如何去重置、恢复和完全回到以前的状态,做到这些只需要几个简单而优雅的 Git 命令。 重置 我们从 Git 的 reset 命令开始。...这些选项包括:hard 在仓库中去重置指向的提交,用提交的内容去填充工作目录,并重置暂存区;soft 仅重置仓库中的指针;而 mixed(默认值)将重置指针和暂存区。...恢复 git revert 命令的实际结果类似于 reset,但它的方法不同。...with two lines 9ef9173 File with one line 这里是工作目录中这个文件当前的内容: $ cat Line 1 Line 2 image.png 恢复或重置如何选择...换句话说就是,只要我们知道我们所指向的原始提交,我们能够通过简单的返回到分支的原始链的头部来“恢复”指针到前面的位置: git reset 当提交被替换之后,我们在 Git

4K20

Git基础:利用reset重置命令恢复commit代码及其扩展

有时候代码写完 commit 了,发现用错分支了,就很尴尬,这时候可以用 reset 重置命令,将代码恢复到指定的版本。 在学习 reset 命令之前,先了解两个命令。...git reset --soft HEAD^ --mixed 重置索引,但不重置工作树,更改后的文件标记为未提交(add)的状态。...git reset --hard HEAD^ 这里误操作了也不用怕,可以恢复的,下面会讲。...git reset 直接版之前 commit 删掉,非 git reset --hard 的操作是不会删掉修改代码,如果远程已经有之前代码,需要强推 git push -f 误操作后也可以恢复 例如执行了...未经允许不得转载:w3h5-Web前端开发资源网 » Git基础:利用reset重置命令恢复commit代码及其扩展

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

    Git基础:利用reset重置命令恢复commit代码及其扩展

    有时候代码写完 commit 了,发现用错分支了,就很尴尬,这时候可以用 reset 重置命令,将代码恢复到指定的版本。 在学习 reset 命令之前,先了解两个命令。...git reset --soft HEAD^ --mixed 重置索引,但不重置工作树,更改后的文件标记为未提交(add)的状态。...git reset --hard HEAD^ 这里误操作了也不用怕,可以恢复的,下面会讲。...git reset 直接版之前 commit 删掉,非 git reset --hard 的操作是不会删掉修改代码,如果远程已经有之前代码,需要强推 git push -f 误操作后也可以恢复 例如执行了...未经允许不得转载:w3h5 » Git基础:利用reset重置命令恢复commit代码及其扩展

    9.5K32

    Hexo的安装及重置恢复

    经常是改一处错两处,那么到了迫不得已的时候,就有必要对博客进行重置了。...关于 Hexo 博客的重置,一般只需重置主题即可,因为 99% 的错误都是在主题文件中的,Hexo主框架自安装完就不会有什么改动。下面,就从重置主题开始,简单记录下我重置过程的代码。...重置步骤 blog\theme\indigo 将这个文件夹重命名(不要删,还有用) blog\theme 此目录下重新克隆 git clone https://github.com/yscoder/hexo-theme-indigo.git...(注意是indigo目录下的配置文件) indigo\source (全部内容,除了js和css,这两部分可能包含先前的错误) 基本的替换完成后即可运行了(当然现在的版本少了很多自定义内容) 开始恢复自定义代码...,与git源不冲突,可以正常提交,因为对git来说上述操作都是不可见的。

    2.5K20

    7.7 Git 工具 - 重置揭密

    重置揭密 在继续了解更专业的工具前,我们先讨论一下 reset 与 checkout。 在你初次遇到的 Git 命令中,这两个是最让人困惑的。...不过索引和工作目录 可以部分更新,所以重置会继续进行第 2、3 步。...它其实做了同样的事情,也就是把工作目录中的文件恢复到 v1 版本,运行 git add 添加它,然后再将它恢复到 v3 版本(只是不用真的过一遍这些步骤)。...如果我们现在运行 git commit,它就会记录一条“将该文件恢复到 v1 版本”的更改,尽管我们并未在工作目录中真正地再次拥有它。...此外,同 git reset 和 git add 一样,checkout 也接受一个 --patch 选项,允许你根据选择一块一块地恢复文件内容。

    45330

    回滚重置git merge

    代码合并的时候,有时候合并后发现合并错了,需要回滚或重置 回滚merge其实有两种方式,一种是revert,一种是reset 环境准备 构造一个已经merge的分支,并准备撤销/回滚刚才的merge...初始化仓库库 mkdir git-revert-merge-commit cd git-revert-merge-commit git init master上提交两个commit echo 'file1...' > file1 git add . && git commit -m 'commit 1' echo 'file2' > file2 git add . && git commit -m 'commit...2' 从master创建分支feature并提交两个新的commit git checkout -b feature echo 'file3' > file3 git add . && git commit...2 d7757c8fb1c65449d4e436b1c9bc575f79a01ce5 commit 1 日志中可以看出来,虽然合并进来的分支内容都退回了,但是提交记录以及回滚记录都在 reset 是重置代码到历史某一个提交点

    2.9K20

    Git 维护及数据恢复

    文章目录 Git 维护及数据恢复 维护 数据恢复 移除对象 Git 维护及数据恢复 2018-09-27 15:52 更新 你时不时的需要进行一些清理工作 ── 如减小一个仓库的大小,清理导入的库,或是恢复丢失的数据...数据恢复 在使用 Git 的过程中,有时会不小心丢失 commit 信息。...下面的示例演示了对 test 仓库主分支进行 hard-reset 到一个老版本的 commit 的操作,然后恢复丢失的 commit 。...现在要怎样恢复 commit 呢?办法之一是使用 git fsck 工具,该工具会检查仓库的数据完整性。...用相同的方法就可以恢复它,即创建一个指向该 SHA 的分支。 移除对象 Git 有许多过人之处,不过有一个功能有时却会带来问题:git clone 会将包含每一个文件的所有历史版本的整个项目下载下来。

    59420

    Git删除分支恢复分支

    总结就是两种方法 1.用commit的id恢复 2.用reflog的头指针恢复 •删除一个已被终止的分支 如果需要删除的分支不是当前正在打开的分支,使用branch -d直接删除 git branch...git branch -D • 恢复被删除的分支 Git会自行负责分支的管理,所以当我们删除一个分支时,Git只是删除了指向相关提交的指针,但该提交对象依然会留在版本库中。...因此,如果我们知道删除分支时的散列值,就可以将某个删除的分支恢复过来。...在已知提交的散列值的情况下恢复某个分支: git branch 如果我们不知道想要恢复的分支的散列值,可以用reflog命令将它找出来。如: ?...这时恢复分支a_branch分支如下: git branch HEAD@{4}

    1.3K20

    Git命令集之九——重置命令 原

    Git命令集之九——重置命令 1.git reset HEAD^     返回到上一个版本状态,需要注意,这个命令不会修改本地文件的内容,这些新的内容会变为未更新到缓存区的状态。...5.git reset --mixed     mixed模式是默认的模式,不指定的话也是这个模式。...这个模式只会重置Git当前游标指针到某次提交,并不会修改本地文件,本地文件中的变化都将作为为更新到缓存区的状态。...6.git reset --hard     hard模式会将Git当前游标指针重置到指定提交同时将本地文件也恢复到游标所在的提交时的状态。新的文件修改将被丢弃。...7.git reset --soft     soft模式将Git游标指针重置到指定的提交,不修改本地文件状态,但是也不修改缓存区状态,所有的更改将默认作为下次commit的内容。

    42110

    git stash pop 导致冲突 如何恢复

    修改完代码后发现当前所在分支不对时执行切换分支命令: git switch feature/others 可能会报如下错误: error: Your local changes to the following...这时候用 git stash 暂存命令暂存,再执行切换分支命令,可以正常切换。...然后执行  git stash pop 命令,将代码恢复,发现新分支代码比较旧,和新代码产生冲突了: CONFLICT (modify/delete): src/utils/ ......这时候如何撤销操作,又要保证新的修改不会丢失,可以尝试下面的操作: git reset --hard 即可撤销 git stash pop 操作,将当前分支状态恢复。...git stash 暂存区的记录也不会被删除,可通过 git stash show 查看。 未经允许不得转载:w3h5 » git stash pop 导致冲突 如何恢复

    3K20

    10.7 Git 内部原理 - 维护与数据恢复

    维护与数据恢复 有的时候,你需要对仓库进行清理 - 使它的结构变得更紧凑,或是对导入的仓库进行清理,或是恢复丢失的内容。 这个小节将会介绍这些情况中的一部分。...数据恢复 在你使用 Git 的时候,你可能会意外丢失一次提交。 通常这是因为你强制删除了正在工作的分支,但是最后却发现你还需要这个分支;亦或者硬重置了一个分支,放弃了你想要的提交。...下面的例子将硬重置你的测试仓库中的 master 分支到一个旧的提交,以此来恢复丢失的提交。...这时该如何恢复那次提交? 一种方式是使用 git fsck 实用工具,将会检查数据库的完整性。...现在你可以用和之前相同的方法恢复这个提交,也就是添加一个指向这个提交的分支。

    83920
    领券