Git 从已推送的特定提交中撤消工作本地文件夹中的更改

Git 从已推送的特定提交中撤消工作本地文件夹中的更改,git,github,version-control,bitbucket,Git,Github,Version Control,Bitbucket,我在BitBucket进行了git回购,2小时后,我意识到。。我犯了一个错误,需要用前两次提交撤消我的本地工作文件夹 我怎么能做到?这是我的git日志 commit fd04cfd1c3ed6a80649f018cffc80acfee8d022c Author: R <r@hotmail.com> Date: Sat Sep 19 14:43:44 2015 +0800 theme changed. commit 11783669c8b8c0dc909dbf15aac

我在BitBucket进行了git回购,2小时后,我意识到。。我犯了一个错误,需要用前两次提交撤消我的本地工作文件夹

我怎么能做到?这是我的git日志

commit fd04cfd1c3ed6a80649f018cffc80acfee8d022c
Author: R <r@hotmail.com>
Date:   Sat Sep 19 14:43:44 2015 +0800

    theme changed.

commit 11783669c8b8c0dc909dbf15aac085a0c497422c
Author: R <r@hotmail.com>
Date:   Sat Sep 19 14:15:27 2015 +0800

    Modified.. need to change theme..

commit f1c9df7d7f7aec54942e06b70b4908dbfe7b9f17
Author: R <r@hotmail.com>
Date:   Sat Sep 19 08:29:15 2015 +0800

    Create 2 testing file for:
    - check session level
    - check WHOIS session

commit 41828c1d6f984821d5c7b3cb2d0cac269da2b03e
Author: R <r@hotmail.com>
Date:   Sat Sep 19 01:05:41 2015 +0800

    Prevent others user level and anonymous user from entering PTM level
提交fd04cfd1c3ed6a80649f018cffc80acfee8d022c
作者:R
日期:2015年9月19日星期六14:43:44+0800
主题改变了。
提交11783669c8b8c0dc909dbf15aac085a0c497422c
作者:R
日期:2015年9月19日星期六14:15:27+0800
被改进的。。需要改变主题。。
提交f1c9df7d7f7aec54942e06b70b4908dbfe7b9f17
作者:R
日期:2015年9月19日星期六08:29:15+0800
为以下内容创建2个测试文件:
-检查会话级别
-检查谁的会话
提交41828c1d6f984821d5c7b3cb2d0cac269da2b03e
作者:R
日期:2015年9月19日星期六01:05:41+0800
防止其他用户级别和匿名用户进入PTM级别

提交哈希11783669c8b8c0dc909dbf15aac085a0c497422c是我撤消本地文件中所有更改的目标。

使用
git revert
<代码>git revert--help将解释它的功能和使用方法:

git revert f1c9df7d7f..fd04cfd1c3e

例如。

我假设您希望删除1178369C8B8C0DC909DBF15AAC085A0C497422C 如果要在本地删除它,但不想推送还原的签入,请执行以下操作:

git复位头f1c9df7d7f7aec54942e06b70b4908dbfe7b9f17

git结帐

并删除新添加的文件

如果要推送还原的签入,请执行以下操作:

git回复fd04cfd1c3ed6a80649f018cffc80acfee8d022c

git revert 11783669c8b8c0dc909dbf15aac085a0c497422c


这将导致两个新的提交,其中包含还原更改

您是否是唯一使用该回购的人。你想保留历史记录还是想假装这两个提交不存在?嗨@JBNizet,我能保留历史记录吗?也许我以后需要它。我的工作文件夹根本没有改变,为什么先生?我和最新的委员会看起来一样执行那个命令时到底发生了什么?执行后,
git log
的新输出是什么?@RobbNesp在
git revert
之后,应该使用
git checkout--.
命令。