`

【转】git撤销commit

    博客分类:
  • GIT
阅读更多

原文地址:http://zhyq0826.iteye.com/blog/1671638

 

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

 

先使用git log 查看 commit日志

 

 

Python代码  收藏代码
  1. commit 422bc088a7d6c5429f1d0760d008d86c505f4abe  
  2. Author: zhyq0826 <zhyq0826@gmail.com>  
  3. Date:   Tue Sep 4 18:19:23 2012 +0800  
  4.   
  5.     删除最近搜索数目限制  
  6.   
  7. commit 8da0fd772c3acabd6e21e85287bdcfcfe8e74c85  
  8. Merge: 461ac36 0283074  
  9. Author: zhyq0826 <zhyq0826@gmail.com>  
  10. 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如何撤销commit的方法(未push)

    主要介绍了git如何撤销commit的方法(未push),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    git-uncommit:撤消 Git 提交

    $ git commit -m " Experimental changes " 你对结果不满意,但又不想放弃工作,所以你运行git-uncommit $ git uncommitUncommit: 2edf199-experimental-changes.patch 这会撤消您的实验性提交并创建2edf199-...

    Git撤销已经推送(push)至远端仓库的提交(commit)信息操作

    主要介绍了Git撤销已经推送(push)至远端仓库的提交(commit)信息操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    git常用操作命令 pdf

    开发常用git指令: git init # 初始化本地git环境 git clone  &lt;#&gt; 克隆一份代码到本地 ...也即是将readme.txt撤回到最近一次git add或git commit状态(注:--表示在当前分支,如果没有,则切换到另一个分支)

    git使用笔记1

    删除文件: $ git -rm aa.c $ git -commit恢复删除了的文件:(撤消一次提交) $ git -log 

    gitjk:撤消您刚刚在git中所做的操作

    如果您只是运行了一个git命令,那么该程序将撤消它,告诉您如何撤消它,或者告诉您无法撤消。 基于一个笑话,我不久前发布了。 例子 要求撤消建议。 git init gitjk This created a .git folder in the current ...

    git简易命令总结、批量删除某个类型的远程文件

    git简易命令总结,有如何批量删除文件命令,只提交某个文件夹的命令,撤销commit命令等

    25个开发┃如何在Git里撤销(几乎)任何操作

    任何版本控制系统的一个最有的用特性就是...场景:你已经执行了gitpush,把你的修改发送到了GitHub,现在你意识到这些commit的其中一个是有问题的,你需要撤销那一个commit.原理:gitrevert会产生一个新的commit,它和指定

    Git里多种撤销操作的最佳方法

    我们会给大家介绍关于Git里的多种撤销操作,我会讲解某些你需要“撤销”已做出的修改的常见场景,以及利用 Git 进行这些操作的最佳方法。下面来一起看看吧。

    git-commands:every‍:laptop:每个开发人员都应该知道的主要git命令

    git commit —amend 分行 列出当地分行 git branch 同时列出远程存储库中的分支 git branch -a 去另一个分店 git checkout my-branch 如果添加-ba,将创建新分支 git checkout -b my-new-branch 不包括分支 git...

    visualizing-git:可视化常见的Git操作如何影响提交图

    可视化Git Git是一个非常强大的工具-它可能会令人困惑。...clear =清除历史记录窗格并重置可视化可用的Git命令: git branchgit checkoutgit cherry_pickgit commitgit fetchgit loggit mergegit pullg

    GIT中文资源

    2.4 撤消操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4.1 修改最后一次提交 . . . . . . . . . . . . . . . . . . . . . . 29 2.4.2 取消已经暂存的文件 . . . . . . . . . . . . . . ....

    Dog-Cat-Mouse:学习-git-github

    git commit -m“内容” git日志 git show git diff /////// gitk:用户界面git //// git checkout-:撤消文件更改 git reset HEAD:添加错误时撤消 git reset --soft:提交错误时撤消。 提交前复出 git reset --...

    Git各种错误操作撤销的方法

    在平时工作中使用git难免会提交一些错误的文件到git库里,这时候,撤销吧,怕把正确的文件删除...如果你在执行的时候遇到如下的错误:如果遇到这个错误,就说明你的本地git仓库从来没有执行过gitcommit操作,导致HEAD指

    git实用但不常用的命令(持续更新)

    这篇文章用来记录工作中会需要但又不像push,pull这么...撤销commit(实用) git reset –soft/mixed/hard(代表三种模式,取其一就行) HEAD~1 如果进行了两次commit都想撤回,可以使用HEAD~2 soft:不删除工作空间代码,撤

    leetcode下载-sooof_workspace:工作

    leetcode下载 sooof workspace work 下载: git clone ...测试github是否联通: ssh ...将自己的修改push到github上: ...commit ...commit" ...git撤销已经push到远端的commit: git log -2 git reset --hard d3b87ba

    Git中需要熟记的命令小结

    git commit -m Commit message 提交你所有的修改文件以及添加的文件 git commit -am 'your message' 撤销修改某个文件 git checkout -- &lt;filename&gt; 放弃本地所有修改 git fetch origin git reset --hard ...

    commit:提交网络应用

    COMM!T Web应用程序 COMM!T应用程序让邀请他们的...安装并运行项目git clone https://github.com/jimmoffet/commit.gitcd commitpip install -r requirements.txtpython app.py # run on 127.0.0.1:5000COMM!T团队寄

    test:学习Dart和扑

    $git checkout -- 撤销工作区修改,文件回到最近一次git commit或git add时的状态,用版本库/暂存区里的版本替换工作区的版本 $git reset HEAD 可以把暂存区的修改撤销掉(unstage),重新放回工作区 $ rm 删除工作区

    图解git原理与日常实用指南

    从之前只会基本的add、commit、pull、push操作到使用stash、merge、reset方便得不亦乐乎,都得益于对git原理的深入理解,逼话少说,咋们直接进入正题。前方长篇预警...所谓版本控制,就是在文件修改的历程中保留修改...

Global site tag (gtag.js) - Google Analytics