如果不小心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. 关于spring的aop拦截的问题 protected方法代理问题

    看到一篇很好的Spring aop 拦截方法的问题,  原文地址. 问题 貌似不能拦截私有方法? 试了很多次,都失败了,是不是不行啊? 我想了一下,因为aop底层是代理, jdk是代理接口,私有方法必 ...

  2. 【BZOJ1010】【HNOI2008】玩具装箱(斜率优化,动态规划)

    [BZOJ1010][HNOI2008]玩具装箱 题面 题目描述 P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一 ...

  3. Bzoj4805: 欧拉函数求和

    好久没写杜教筛了 练练手AC量刷起 # include <bits/stdc++.h> # define RG register # define IL inline # define F ...

  4. Zabbix JMX之tomcat监控

    工作原理: 1.JAVA-GATEWAY  Zabbix本身不支持直接监控Java,在zabbix 1.8以前,只能使用Zapcat来做代理监控,而且要修改源代码,非常麻烦.所有后来为了解决这个监控问 ...

  5. Vue2.0 demo:百度百聘第三方web客户端

    github地址:https://github.com/axel10/baipin_vue 项目地址:https://vcollection.org/baipin/ 官方的百度百聘客户端存在翻页时过滤 ...

  6. Jersey+mybatis实现web项目第一篇

    ---恢复内容开始--- Jesery第一篇:实现Jesery前后台页面交互,Form表单提交,后台控制页面跳转 该项目中有实现的功能: Mybatis实现后台数据持久化 Jersey页面数据提交 后 ...

  7. 【Unity与23种设计模式】解释器模式(Interpreter)

    GoF中定义: "定义一个程序设计语言所需要的语句,并提供解释来解析(执行)该语言." 传统上,执行程序代码通常通过两种方式 第一种:编译程序 第二种:解释器 常见的使用解释器的程 ...

  8. 【Unity3D与23种设计模式】单例模式(Singleton)

    GoF中定义: "确认类只有一个对象,并提供一个全局的方法来获取这个对象" 使用单例模式的前提 它只能产生一个对象且不能够被继承 单例模式的优点: 提供方便获取唯一对象的方法 可以 ...

  9. webuploader 上传文件 生成链接下载文件

    最近 在asp.net MVC 项目 需要实现一个Excel和 图片上传功能.之前有使用过SWFUpload 做过上传图片功能,在本次实现过程中,有人推荐WebUploader 上传组件,因此采用we ...

  10. JS离开页面 弹窗

    function bindDOMEvents() { $(document).keydown(function (e) { var key = e.which || e.keyCode; if (ke ...