热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

简单使用Git与github(三)

git版本回退参考https:www.liaoxuefeng.comwiki0013739516305929606dd18361248578c67b8067c8c017

git版本回退

参考
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013744142037508cf42e51debf49668810645e02887691000
mark下来,以后方便查找。
git 的版本回退操作步骤

  • git log 查看提交记录

    git log从提交记录里面可看到提交的版本号,git和SVN的版本号不一样,git的commit id不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示.
    这里写图片描述
    黄色的字体跟在commit后面的就是提交的版本号。

  • $ git reset –hard HEAD^

    git reset --hard HEAD^ 表示回退到上一个版本。继续使用这条指令可以还可以继续回退到上一个版本,但是步骤有点麻烦。

  • git reset –hard 24f3f02cce00c646bd76b0283ff355fd28bc7dca

    可以从log里面的版本号直接回退到该版本号,版本号不用写全,写前面几位数也可以,git会自动去找,例如:git reset --hard 24f3f这样既可回到该版版号。

  • git reflog

    现在,你回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办?找不到新版本的commit id怎么办?在tit中,总是有后悔药可以吃的。git提供了一个命令git reflog用来记录你的每一次命令。看到这些记录的指令,你就可以使用git reset --hard 回到某个版本了。
    这里写图片描述

git撤销修改
  • 没有修改过的时候

    当你没有做过修改的时候使用git status查看状态时会出现如下:

    $ git status
    On branch master
    nothing to commit, working tree clean
  • 场景1:修改并未add

    当你修改了本地的README.md,并未add和commit提交的时候,使用git status,出现如下提示:
    这里写图片描述
    这时候你直接改本地文件或者,使用git checkout --...可以放弃工作区的修改。例如:git checkout -- README.md意思就是,把README.md文件在工作区的修改全部撤销。你打开README.md查看就发现修改的呗撤销了。

  • 场景2:已经add到缓存区了但未commit

    假如你已经将修改多的文件add到了缓存区,想回退清空缓存区的时候。
    这里写图片描述git会友好的提示你change to be commited也可以回退使用git reset HEAD ...可以把暂存区的修改撤销掉(unstage),重新放回工作区。
    这里写图片描述git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。再用git status查看一下,现在暂存区是干净的,工作区有修改。可以使用放弃工作空间的修改git checkout -- README.md意思就是,把README.md文件在工作区的修改全部撤销

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD ,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考上面的git版本回退,不过前提是没有推送到远程库。

git查看工作区和版本库里面最新版本的区别

git diff命令可以查看工作区和版本库里面最新版本的区别,也可以用git diff HEAD 指定某个文件和最新本版本库里面的区别,例如指定README.md文件:git diff HEAD README.md

git rm删除文件

在git 指令中可以用git rm 进行删除文件。例如我要删除已经提交的一个文件test.txt。直接使用git rm test.txt就可以把该文件删除了。查看删除的状态如图:
这里写图片描述
现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit。另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:$ git checkout -- test.txtgit checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。


推荐阅读
  • 双十一在家学用 Git
    对于所有的开发者来说,掌握一门代码版本控制系统都是必须的,无论是自己做项目,团队合作,工作中的合作,都离不开版 ... [详细]
  • Fixes#3560Itriedtodowhatproposedintheissue(inthisbranchhttps://gith ... [详细]
  • Day 5 20190120 老男孩python学习第5天 内容整理
    今天继续看MasteringPycharm的视频,一个半小时看git的教学视频:视频1小时44分钟,看了2个半小时以上https:www.youtube ... [详细]
  • 十一、构建我们自己的包在本章中,我们将学习如何构建自己的包。编写包可以让我们创建可以在许多应用 ... [详细]
  • 系统管理部分软件包管理进程管理服务管理磁盘管理系统管理之软件包管理软件包的安装方式yumapt方式rpmdpkg方式编译安装方式二进制安装方式rpm安装方式增删改查安装:-ivh查 ... [详细]
  • idea Terminal配置cmder(增加nodejs,git配置,jdk本地环境)
    下载安装nodejs,git,cmder(绿色版直接解压)配置nodejs环境配置缓存npmconfigsetcacheE:\JetBrains\nodejs\node_c ... [详细]
  • 最近学习了数据挖掘常用的两种算法:FP-Growth和K-Means。现在把我的学习结果分享给大家。以下是本文的目录,大家可以根据需要跳过一些章节:1.FP-Grow ... [详细]
  • 1、背景-在项目的实施过程中,由于有dev环境和pro环境,这时会有两个redis集群,但是部分数据从甲方的三方数据库中获取存入生产环境的redis集群中,为了方便测试和数据校验, ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 初始化初始化本地空版本库,仓库,英文名repositorymkdirtest&&cdtestgitinit克隆项目到本地gitclone远程同 ... [详细]
  • 先记住几个专用名词,如下:Workspace:工作区IndexStage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库#在当前目录新建一个G ... [详细]
  • Git GitHub多人协作
    在学校做一个小项目需要多人协作,就用到了gitHub,百度了一下多数写得乱七八糟或者支离破碎,于是总结了一下自己的步骤如下,第一次使用GitHUb,哪里不对望大神指出一.前期准备: ... [详细]
  • 第一种方法gitarchive-oupdate.zip$(gitdiffnew-versionold-version--name-only)此方法如果文件有删除,则 ... [详细]
  • 前言本篇为大家总结社区多人合作常见的场景和对应的git操作命令。本篇非新手教程,阅读本篇前需具备Git基础知识。Git入门教程请参考https://www ... [详细]
author-avatar
门板班不查询只
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有