如果不小心commit了一个不需要commit的文件,可以对其进行撤销。

先使用git log 查看 commit日志

  1. commit 422bc088a7d6c5429f1d0760d008d86c505f4abe
  2. Author: zhyq0826 <zhyq0826@gmail.com>
  3. Date:   Tue Sep 4 18:19:23 2012 +0800
  4. 删除最近搜索数目限制
  5. commit 8da0fd772c3acabd6e21e85287bdcfcfe8e74c85
  6. Merge: 461ac36 0283074
  7. Author: zhyq0826 <zhyq0826@gmail.com>
  8. Date:   Tue Sep 4 18:16:09 2012 +0800

找到需要回退的那次commit的 哈希值,

git reset --hard commit_id

使用上面的命令进行回退

以下是豆瓣的

苍炎的日记

起因: 不小新把记录了公司服务器IP,账号,密码的文件提交到了git



方法:





    git reset --hard <commit_id>



    git push origin HEAD --force







其他:



    根据–soft –mixed –hard,会对working tree和index和HEAD进行重置:

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

    git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index

file一级。如果还要提交,直接commit即可

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





    HEAD 最近一个提交

    HEAD^ 上一次

    <commit_id> 每次commit的SHA1值. 可以用git log 看到,也可以在页面上commit标签页里找到

亲测 git

reset –soft命令,只是撤销了commit的提交记录,commit改动的代码仍然存在,很受用。

git

reset --soft commit-id,其中的commit-id指的是撤销之前的那个commit id.









一、命令行方式删除

本地

远程

分支

命令:

git branch -D  <分支名称>

执行效果:只删除Git库工作区的本地分支,不会将Git库工作区中该远程分支的引用文件删除,也不会删除远程库中的同名分支。

命令:

git push origin --delete <分支名称>

注:“分支名称”处直接填写分支名称,不要带上origin的字样

执行效果:将远程库中的分支删除,并会将Git库工作区中该远程分支的引用文件删除,但是不会删除Git库工作区中与这个远程分支建立了“tracking”联系的本地分支。

tag

命令:

git tag -d <tag名称>

执行效果:删除Git库工作区中的tag,不会将远程库中的同名tag删除

命令:

git push origin --delete tag <tag名称>

执行效果:将远程库中的tag删除,但不会删除Git库工作区中的同名tag

转git取消commit的更多相关文章

  1. git 取消commit

    git如何撤销上一次commit操作 1.第一种情况:还没有push,只是在本地commit git reset --soft|--mixed|--hard <commit_id> git ...

  2. git commit后如何取消commit

    在git使用中要如何取消commit但是还未push的操作? 通常,我们对修改的文件会先git add .,然后git commmit -m "注释",但是如果commit错了,想 ...

  3. [git] 细说commit (git add/commit/diff/rm/reset 以及 index 的概念)

    http://kasicass.blog.163.com/blog/static/39561920133294219374/ 创建测试仓库 $ git init $ echo "line o ...

  4. git撤销commit 并保存之前的修改

    撤销并保留修改 参数 –soft  # 先进行commit ,之后后悔啦  $ git commit -am "对首篇报告研究员字段改为author_name" 执行git log ...

  5. Git 学习(三)本地仓库操作——git add & commit

    Git 学习(三)本地仓库操作——git add & commit Git 和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念.这在上文已有提及,本文具体说明什么是工作区及暂存区,以及 ...

  6. git 修改commit 的注释

    git 修改commit 的注释 一:最新的一次提交 当你不小心,写错了提交的注视/信息,该如何处理呢.理论上,SCM是不应该修改历史的信息的,提交的注释也是.    不过在git中,其commit提 ...

  7. git取消链接并删除本地库

    有的时候我们需要删除从GitHub上克隆下来的库 从github上clone一个仓库: git clone git@github.com:USERNAME/repo.git 在本地目录下关联远程rep ...

  8. git 取消未成功的 merge

    git 取消未成功的 merge # 合并时遇到冲突想取消操作,恢复index $ git merge --abort # 可以回退到某个提交 $ git reset --hard # 可以撤销某个提 ...

  9. git取消本地commit

    如果不小心commit了一个不需要commit的文件,可以对其进行撤销. 先使用git log 查看 commit日志 commit 422bc088a7d6c5429f1d0760d008d86c5 ...

随机推荐

  1. 消息队列mq的原理及实现方法

    消息队列技术是分布式应用间交换信息的一种技术.消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走.通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置.或在继续执行前不需要等待 ...

  2. Html行内元素和块级元素

    1.关于行内元素和块状元素的说明 根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display ...

  3. 实现一个简单的订阅与发布模式的代码块,和redux

    /** * Created by Mrzou on 2018/3/11. */ //实现简单的订阅与发布模式的代码块export function pattern() { let currentLis ...

  4. JavaScript中的this的指代对象详解

    在javascript里面,this是一个特殊的对象,它不像其他编程语言那样,是存储在实例中的值,直接指向此实例. 而是作为一个单独的指针,在不同的情况之下,指向不同的位置,这也是为什么我们会将它搞混 ...

  5. Struts2如何实现MVC,与Spring MVC有什么不同?

    Struts2采用filter充当前端控制器处理请求,filter会根据Struts.xml的配置,将请求分发给不同的业务控制器Action,再由Action处理具体的业务逻辑.Action处理完业务 ...

  6. jquery的各种插件调用(有些已经过时,以备注,其他的一些可以闲的时候用作拆解)

    jquery的valiteDate验证插件应用 <!DOCTYPE html> <html>        < head>            < meta ...

  7. 【BZOJ1975】【SDOI2010】魔法猪学院(搜索,A*,贪心)

    我已经沉迷于粘贴题目地址了... 题解 很显然的贪心呀, 就是一定是最短的若干条路径的长度 所以,不断拓展k短路就可以了 至于怎么用A* 评估函数f(x)=dis[x]+g[x] 其中,dis是到N号 ...

  8. [HEOI2016]游戏

    二分图匹配(网络流实现) # include <bits/stdc++.h> # define IL inline # define RG register # define Fill(a ...

  9. [BZOJ4517] [Sdoi2016] 排列计数 (数学)

    Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是 ...

  10. 三大家族,offset,scroll,client

    1.client 1.1主要成员 1.clientWidth 获取网页可视区域宽度(两种用法)    clientHeight 获取网页可视区域高度 (两张用法) 盒子调用: 指盒子本省 浏览器调用: ...