`
Ydoing
  • 浏览: 106089 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

git版本回退

 
阅读更多

查看日志

$ git log
commit 81fe2587c1018b93d7016f69f52f532e903b780f
Author: Jdoing <703627622@qq.com>
Date:   Mon Apr 13 21:31:47 2015 +0800

    add some comment to readme.txt file

commit 28647342369fc48cde70523f2fb38f4ec67f5957
Author: Jdoing <703627622@qq.com>
Date:   Mon Apr 13 21:19:44 2015 +0800

    modify readme.txt

commit 1b73fc64b6b8de59f68cd4466ce5091040870929
Author: Jdoing <703627622@qq.com>
Date:   Mon Apr 13 21:10:14 2015 +0800

    add readme.txt file

查看命令历史

$ git reflog
81fe258 HEAD@{0}: commit: add some comment to readme.txt file
2864734 HEAD@{1}: commit: modify readme.txt
1b73fc6 HEAD@{2}: commit (initial): add readme.txt file
jiangyu@ubuntu:~/github/awesome-python-webapp$ git log

回退到某个版本

reset命令有3种方式:
- git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息.即覆盖暂存区,但不覆盖工作区.
- git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可.即不覆盖暂存区,也不覆盖工作区.
- git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容.即覆盖暂存区和工作区.

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3628164…882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100.

$ git reset --hard HEAD^
HEAD is now at 2864734 modify readme.txt

也可以指定版本号,不一定要指定完整版本号,只要git能匹配找到就行

$ git reset --hard 28647342369
HEAD is now at 2864734 modify readme.txt

撤消修改

命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。

$ git checkout -- readme.txt

删除文件

先删除

$ git rm test.txt 
rm 'test.txt'

后提交

$ git commit -m "rm test.txt"
[master ce02a0f] rm test.txt
 1 file changed, 0 insertions(+), 0 deletions(-)
 delete mode 100644 test.txt
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

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

    Git版本回退指的是在使用Git作为版本控制系统时,将代码库回退到之前的一个或多个版本。在这个过程中,可以将错误的更改撤销,并将项目恢复到期望的状态。Git的版本回退速度之所以快,是因为Git内部有一个HEAD指针,...

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

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

    Wasabi1234#Java-Interview-Tutorial#Git版本回退方法论(可能解决你101%遇到的Git版本问

    分析假如你的远程master分支情况是这样的:A、B分别代表两个人A1、A2、B1代表各自的提交所有人的本地分支都已经更新到最新版本,和远程分支一致这时发现A2

    Git版本回退方法论(可能解决你101%遇到的Git版本问题)

    接着回退版本: git reset --hard cac0 cac0就是你要回退的版本的commit id的前面几位 远程分支版本回退 回滚自己的远程分支 你的错误commit已经推送到远程分支,就需要回滚远程分支。 首先要回退本地分支: git ...

    版本回退.rar

    本文档"版本回退.rar"专门探讨了如何在使用Git进行版本回退,这对于理解和解决开发过程中的问题至关重要。 首先,Git的版本回退基于其强大的历史记录功能。每次提交都会保存一个快照,并与前一个快照形成差异,这些...

    git - 回退操作.pdf

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

    git版本控制学习

    通过上述步骤,我们不仅了解了如何创建并初始化一个Git仓库,还学会了如何添加文件、提交更改以及如何查看和回退版本。这些基本操作对于使用Git管理项目的版本至关重要。随着对Git的深入了解,你还将学会如何处理...

    git 常用的一些命令

    4. Git 版本回退命令 使用 git reset --hard HEAD^ 命令可以撤销一步 commit。如果想要撤销提交但保留文件的修改,可以使用 git reset --mixed HEAD^ 命令。如果想要撤销提交但不撤销 git add 操作,可以使用 git ...

    git版本分支管理

    Git版本控制系统提供了多种功能强大的版本控制工具,包括分支管理、提交历史记录、差异比较、版本回退等等。在使用Git管理项目时,通常会有多个分支,这些分支可以是不同的开发环境、测试环境、生产环境等等。因此,...

    0618-极智开发-解读git的回退操作

    0618_极智开发_解读git的回退操作

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

    随着时间的推移,你可能需要回退到之前的版本。`git log`命令可以显示所有提交的详细日志,包括作者和日期。如果想要简洁的日志信息,可以使用`git log --pretty=oneline`。要切换到特定版本,你需要知道对应的...

    git版本控制器

    1. **版本控制**:Git的核心概念是版本控制,它记录了每次代码更改的历史,可以随时回退到之前的任何版本。通过分支和合并,团队成员可以并行开发,避免冲突,提高工作效率。 2. **分布式特性**:与集中式版本控制...

    git版本控制使用说明..

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

    在TwinCAT3中使用Git进行版本管理-整理版 1

    使用 Git 进行版本管理在 TwinCAT3 中 在 TwinCAT3 中使用 Git 进行版本管理,主要包括以下几个部分...在 TwinCAT3 中使用 Git 进行版本管理,可以对代码进行版本控制,回退到之前的版本,连接远程 GitHub 上传代码。

    0604-极智开发-解读git回退到指定的版本

    0604_极智开发_解读git回退到指定的版本

    Git windows版本64

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

    Git三个区域解剖 + 版本回退【Git和GitHub教程2】

    Git三个区域解剖_+_版本回退【Git和GitHub教程2】

    Git版本管理基本操作.docx

    ### Git版本管理基本操作知识点详解 ...以上内容概述了Git的基本操作方法,包括安装、创建版本库、文件管理以及版本回退等功能。这些操作是使用Git进行版本控制的基础,熟练掌握它们能够有效提升软件开发的效率和质量。

Global site tag (gtag.js) - Google Analytics