`

git回退历史

阅读更多
自己在前面的几篇中讲到用svn来回退历史是比较麻烦的。其中提到用git是比较方便的。

git的话,只需要用下 git revert <commit-name> 就可以了。

同样的需求,有人会问,我怎么把当前自己的修改去掉呢?

同样的,介于git的复杂程序,要分下面几种情况来分析:

  • 如果你的修改已经在commit历史里面了,那么一种方式就是直接使用revert命令,但是某些人有洁癖,因为revert的命令会产生一个新的commit,这个commit的动作时将所指定的commit取消掉,因此,某些人可能更希望直接修改某个历史上的commit,或者去除掉它。现在我们假设你的前面第三commit取消删除,那么可以这么来做: git rebase -i HEAD~3 然后这个命令会默认帮我们开启一个编辑器,在编辑器里面把所需要取消的commit删除即可,十分简单明了。删除了就没有了哦。  不过要记住,如果你的这些历史已经发布到外面,即别人已经pull过了的话,那么使用这种直接修改的方式是非常不推荐的,因为别人还要rebase,或者强制checkout。别人会火大的哦。
  • 如果你的修改在cache里面。也就是说还没有到历史里面,那么就简单了,git reset就可以了。但这个reset只会把修改从cache里面移除。如果你想进一步操作,那么请看下面这个。
  • 如果你的修改就在本地,也没有在git的cache里面。但是你不需要这些修改,那么有几种方法: a) git reset --hard HEAD 注意,修改就真的没有了哦,找不到了,亲。 b) git stash 这个会临时放到一个地方,如果想找回,只需要使用 git stash apply 即可。
分享到:
评论

相关推荐

    git - 回退操作.pdf

    ### Git回退操作详解 #### 一、Git简介与应用场景 Git是一款分布式版本控制系统,用于追踪文件的变化历史,使得开发者可以方便地管理源代码。它不仅适用于个人项目,还广泛应用于团队协作开发场景中。 #### 二、...

    git回退及撤销操作md,学习代码

    了解并熟练掌握这些Git回退和撤销操作对于高效开发至关重要。记住,每个操作都可能影响到版本历史,因此在执行时需小心谨慎。通过实践和熟悉这些命令,你可以更好地管理你的代码库,确保团队的协同工作顺畅无阻。

    详解IDEA git分支回退指定的历史版本

    在Git版本控制中,有时我们需要将代码回退到某个历史版本,特别是在IDEA(IntelliJ IDEA)这样的集成开发环境中,这一操作变得尤为重要。本文详细介绍了两种在IDEA中回退Git分支到指定历史版本的方法。 1. **Revert...

    版本回退.rar

    `git.txt`文件可能包含了更详细的步骤和示例,包括如何查看提交历史(`git log`)、比较不同提交间的差异(`git diff`)以及如何安全地回退到特定版本。在实际操作中,理解这些命令的用法和它们之间的相互配合是至关...

    git版本回退_动力节点Java学院整理

    在这个过程中,readme.txt文件经历了多次修改和提交,并通过git log查看了提交历史,体现了Git版本回退的使用场景和操作步骤。 总的来说,Git版本回退是一个非常重要的功能,它允许开发者在出现错误时可以快速回到...

    git使用基本语言

    本文将深入探讨Git的基本使用方法,包括创建版本库、添加文件、提交更改、回退版本以及与远程仓库的交互。 首先,创建一个新的Git版本库非常简单。在终端中,你可以通过`mkdir`创建一个新目录,如`learngit`,然后...

    Git-1.9.0 git

    开发者需要掌握基本的Git命令和工作流程,例如,了解如何创建和切换分支(`git checkout -b`),如何解决合并冲突(`git diff`、`git merge --abort`或`git mergetool`),以及如何回退到之前的版本(`git reset`或`...

    Git windows版本64

    1. 版本控制:Git允许用户记录项目文件的历史变更,可以随时回退到之前的任何版本。 2. 分支管理:Git的分支系统非常强大,开发人员可以轻松创建并切换分支,进行平行开发。 3. 合并与冲突解决:当多人协作时,Git...

    git 教材 progit

    6. **撤销操作**:Git提供了一些强大的撤销操作,如`git reset`和`git revert`,可以在不影响历史记录的情况下回退到之前的版本。 7. **标签管理**:`git tag`命令用于标记特定的提交,通常用于发布版本或者重要...

    学习git和gitbash使用的一些详细操作

    - 版本回退:`git reset --hard &lt;commit-id&gt;`命令用来回退到指定的提交状态。`git log`可以查看提交的历史记录,而`git reflog`能够查看分支的移动记录。 - 删除文件:`git rm &lt;file&gt;`命令用于删除工作区中的文件,...

    git+git乌龟和使用说明博客

    8. **查看历史与回退**:Git的强大之处在于其详尽的版本历史记录。Git乌龟提供了浏览提交历史的功能,你可以查看每一次的修改,并在必要时回退到任意版本。 9. **标签管理**:在项目的关键里程碑,可以使用Git的...

    git廖雪峰教程整理

    - 回退之前,使用`git log`查看提交历史,以确定要回退到的版本。 - 如果要重返未来,使用`git reflog`查看命令历史,确定需要的版本。 3. 工作区和暂存区 - 工作区是本地文件夹,Git仓库是工作区中的`.git`目录...

    git本地代码管理指令

    - 如果不确定要回退到哪个版本,可以使用`git reflog`查看所有历史记录,找到具体的版本号再进行回退。 #### 五、撤销修改 如果您不小心修改了文件,并且不希望保留这些更改,可以使用撤销命令来恢复文件。 - **...

    Git-2.27.zip

    1. 版本控制:每个提交都是对项目状态的一次快照,可以随时回退到任何历史版本。 2. 分支管理:开发者可以在不同的分支上进行独立的开发工作,然后将改动合并到主分支。 3. 远程仓库:通过HTTPS、SSH等方式连接到...

    Git-cheat-sheet-(Git常用命令速查).zip_git

    13. 回退版本:`git reset --hard HEAD~&lt;n&gt;` - 回退到n个提交之前的状态,需谨慎操作。 14. 检出特定版本:`git checkout &lt;commit_hash&gt;` - 使工作目录恢复到指定提交的状态。 此外,Git还提供了强大的交互式暂存...

    Git原理及范例详解

    这种设计使得 Git 能够快速地回退到之前的版本,并且可以轻松地比较和恢复项目的历史状态。 Git 的工作流程主要包括以下几个步骤: 1. 初始化仓库:使用 `git init` 命令来初始化一个新的 Git 仓库。 2. 添加文件...

    Git工具安装包,Git工具安装包

    1. 版本控制:Git能够记录每一次对文件或目录的修改,让你可以随时回退到之前的任何版本,这对于团队协作和代码维护至关重要。 2. 分支管理:Git支持轻量级分支,使得开发人员可以快速创建、切换和合并分支,便于...

    git版本控制学习

    - Git中的版本回退可以通过`git reset --hard &lt;commit_id&gt;`命令实现。 - `&lt;commit_id&gt;`指的是想要回退到的具体版本的ID,可以通过`git log`获取。 - 例如,回退到上一个版本可以使用`git reset --hard HEAD^`。 ...

    git常用命令大全

    Git是一个开源的分布式版本控制系统,被广泛用于代码管理,可以有效地追踪文件的变更,管理分支的合并与冲突,以及回退到旧版本等。以下是根据标题和描述中提及的Git命令所延伸出的具体知识点。 **初始化仓库** - `...

Global site tag (gtag.js) - Google Analytics