如何撤消选定的提交
Posted
技术标签:
【中文标题】如何撤消选定的提交【英文标题】:How to undo on selected commit 【发布时间】:2016-12-06 09:51:09 【问题描述】:我想撤消选定的提交。因为我的团队推送不同的许多文件和许多提交。
我所做的是提取已删除的文件。现在我的文件也不见了。
我试过了
git rebase -i 4dd0c29
git reset --hard undo
但什么都没有改变
【问题讨论】:
检查这个:***.com/questions/20324638/…***.com/questions/2938301/remove-specific-commit更多:git-tower.com/learn/git/faq/restore-repo-to-previous-revision 阅读本文,它将解释如何做到这一点。 ***.com/questions/34519665/… 【参考方案1】:在项目的主 git 目录中使用命令 git log
来获取最近的提交。最近的提交将首先显示。它还将以长格式记录提交号。例如:
commit ed7cec151e25ea7f9e0d0563598ee9afd3170952
Author: xxx <xxx@email.com>
Date: Thu Jul 28 17:25:51 2016 +0500
然后使用您的提交 ID 硬重置所有更改:
git reset --hard ed7cec151e25ea7f9e0d0563598ee9afd3170952
希望对你有帮助。
【讨论】:
【参考方案2】:要恢复特定的提交,请使用git revert <commit>
这将创建一个新的提交,其中<commit>
的内容已被还原。
【讨论】:
它给了我这个错误Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean
【参考方案3】:
使用git reflog
,它将为您提供一个列表,其中包含更改HEAD
的活动日志。找到HEAD@id
(其中id
是一个数字),它表示在git pull
之前的头部,然后执行git reset --hard HEAD@id
(确保将单词id
替换为HEAD
的数字)
或者,您可以执行git reset --hard HEAD^
,这会将您的HEAD
恢复到git pull
之前的状态。
【讨论】:
在哪里可以找到id
?
运行git reflog
id
的形式为HEAD@number
以上是关于如何撤消选定的提交的主要内容,如果未能解决你的问题,请参考以下文章