`

Git版本恢复命令reset

    博客分类:
  • git
阅读更多

reset命令有3种方式:

 

1:git reset –mixed:此为默认方式,不带任何参数的git reset,即是这种方式,它回退到某个版本,只保留源码,回退commit和index信息

      git reset HEAD~1 意为将版本库回退1个版本,将本地版本库的头指针全部重置到指定版本,且会重置暂存区,即这次提交之后的所有变更都移动到未暂存阶段。

 

2:git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可

      git reset --soft HEAD~1 意为将版本库软回退1个版本,所谓软回退表示将本地版本库的头指针全部重置到指定版本,且将这次提交之后的所有变更都移动到暂存区。

 

3:git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容

      git reset --hard HEAD~1 意为将版本库回退1个版本,但是不仅仅是将本地版本库的头指针全部重置到指定版本,也会重置暂存区,并且会将工作区代码也回退到这个版本。

 

场景试用:

  1. 文件从暂存区回退到工作区
  2. 版本回退

1.1 git reset HEAD filename :回退文件,将文件从暂存区回退到工作区  //也可以使用 git reset filename

 

1.2 git reset HEAD^ :回退版本,一个^表示一个版本,可以多个,另外也可以使用 git reset HEAD~n这种形式。

       如果HEAD指针指向的是master分支,那么HEAD还可以换成master,如果知道特定的commit-id,那么还可以直接使用 git reset commit-id 如果不加参数,实际上使用的是默认的参数mixed,

  我们可以使用git log -3来查看最近三次的提交,形如 git log -n ,n就是想要输出的个数,可以看到commit-id,author,date等信息

 

1.3 git reset 配合 git commit 追加提交

  什么时候会用到追加提交,追加提交有什么优点?

  (1)对未merge的版本库中的提交不满意,希望修改其中的某些信息,如代码,如提交描述等,可以使用git commit --amend进行追加提交,优点是不会产生新的commit-id 

  (2)修改方法:如果想修改的不是最新一版的提交,那么可以通过git reset --hard HEAD~n将版本回退到需要的那版,如果想修改代码,那么直接在工作区进行代码修改,

  修改完之后git add到暂存区而不必再git pull,而如果是修改其他信息,那么可以直接使用git commit --amend进行追加提交,git commit --amend命令会打开一个编辑器,可以修改其中的信息,

  如果修改了代码而不修改其他信息,则直接 Ctrl + X离开编辑器,再git push推送到远程服务器,如果也修改了其他信息,那么需要先使用Ctrl + M写入信息,再Ctrl + X离开编辑器,再推送。

 

1.4 查看帮助

  git reset -h | git reset --help 

分享到:
评论

相关推荐

    git 常用的一些命令

    使用 git stash pop 命令可以恢复工作现场,并删除保存的缓存记录。 10. Git 分支管理命令 使用 git branch -D <name> 命令可以强行删除一个没有被合并过的分支。使用 git checkout -b dev origin/dev 命令可以...

    Git版本控制管理 第2版.pdf.zip

    6. **回溯与撤销**:`git reset`、`git revert`和`git checkout`命令的用法,如何恢复错误的提交或者回到历史状态。 7. **标签管理**:使用`git tag`为特定版本打标签,方便回溯和发布。 8. **Git的高级功能**:子...

    Git Bash常用命令与解释

    Git Bash是Git的一部分,Git是一个强大的分布式版本控制系统,用于跟踪对文件和项目的修改。在本文中,我们将深入探讨Git Bash中的常用命令及其用法。 1. **初始化Git仓库**: 使用`git init`命令可以在当前目录...

    Git 版本控制管理器 操作文档 git api

    要切换到特定版本,你需要知道对应的commit ID,可以通过`git log`获取,然后执行`git reset --hard commit_id`。 在工作区进行修改后,`git status`会提示你哪些文件有变更。若想撤销工作区的某个修改,而不进行...

    Git使用及命令详解

    最终通过`git commit`命令将暂存区的内容提交到版本库中,形成一个新的版本。 - **暂存区**的作用:它是连接工作区和版本库的重要桥梁。只有暂存区的内容才会被提交到版本库,因此可以通过暂存区来控制哪些修改会被...

    git版本控制工具

    6. 撤销更改:如果误操作,Git提供了多种方式恢复到之前的版本,如`git reset`和`git revert`。 7. 代码审查与协作:Git与GitHub、GitLab等平台结合,支持代码拉取请求(Pull Request),方便团队成员之间进行代码...

    git版本控制使用说明..

    如果需要撤销或恢复修改,`git reset` 命令是关键,其不同选项如 `--mixed`, `--soft`, 和 `--hard` 提供不同程度的回退能力。`--mixed` 是默认选项,只影响索引,`--soft` 不改变工作区,而 `--hard` 则会丢弃所有...

    Git常见使用命令参考

    Git常见使用命令参考 Git是一款免费、开源的版本控制系统,是软件开发过程中的必备工具。下面是Git常见使用命令...Git是一款功能强大且灵活的版本控制系统,掌握了这些命令和技巧可以帮助开发者更好地管理代码和项目。

    GIT常用命令整理

    ### Git常用命令详解 #### 一、初始化与状态查询 - **`git init`**: 初始化一个新仓库。当你想要开始使用Git管理一个项目时,首先需要在这个项目的根...熟练掌握这些命令对于高效地使用Git进行版本控制是非常重要的。

    git操作命令总结

    - **处理bug:** 遇到紧急bug需要修复时,可以暂时保存当前的工作状态,使用 `git stash` 命令进行暂存,修复完成后使用 `git stash pop` 恢复之前的工作状态。 #### 总结 以上总结了git的基本操作命令,包括了...

    git命令.pdf

    如果想要撤销某些修改,可以使用 `git checkout -- filename` 命令恢复到上一次提交的状态。 Git配置中有时会遇到中文乱码问题,解决这一问题的办法是通过设置环境变量,例如在Windows系统中可以通过 `set LC_ALL=C...

    git常用命令.docx

    * `git reset HEAD`:恢复本地提交 * `git reset 文件路径`:撤销 add 时多添加的文件 * `git clean -df`:清除未跟踪的文件 分支管理命令 * `git branch dddd`:建立本地分支 dddd * `git branch -D xxx`:删除 ...

    Git 命令参考手册

    11. **回退版本**:`git reset`和`git revert`可用于撤销提交,前者更强大,可能会改变历史,后者创建一个新的提交来恢复之前的更改。 12. **交互式暂存**:`git add -i`或`git add --interactive`提供了更灵活的...

    git命令大全

    - **重置操作**:`git reset` 命令用于撤销之前的更改或回退到某个特定的版本。通过不同的选项可以实现不同的重置行为。 - **重置级别**:`--mixed`、`--soft` 和 `--hard` 代表了不同程度的重置效果。其中 `--hard`...

    git常用命令大全

    标题《git常用命令大全》所涉及的知识点覆盖了使用Git进行版本控制的日常操作。Git是一个开源的分布式版本控制系统,被广泛用于代码管理,可以有效地追踪文件的变更,管理分支的合并与冲突,以及回退到旧版本等。...

    git版本管理软件

    - **命令**:`git reset <file>` - **作用**:将文件从暂存区移除。 - **4.4.2 git checkout** - **命令**:`git checkout <file>` - **作用**:恢复工作区中的文件到最近的提交状态。 **4.5 git推送代码与同步...

    git 常用命令和示例

    通过以上介绍,我们可以看到Git提供了丰富的命令来满足各种版本控制的需求。无论是基本的配置、提交、合并还是高级的分支管理、撤销更改等操作,Git都能够提供强大的支持。对于开发者来说,掌握这些命令对于高效地...

    Git常用命令面试题 60道1

    Git常用命令面试题60道 Git 是一个分布式版本控制系统,广泛应用于软件开发、项目管理和团队协作中。掌握 Git 的常用命令对于...掌握这些 Git 命令可以帮助开发者和项目经理更好地管理项目代码、协作开发和版本控制。

Global site tag (gtag.js) - Google Analytics