- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用以下方法克隆了一个 github 存储库:
git clone
然后我检查了一个标签:
git checkout badCommit
现在,我发现了一个错误。该错误是在 2 个月前的一次提交中引入的。我有这个提交的 ID 和所有信息。
我想:
请问最干净的方法是什么?
最佳答案
这是一个非常简单的解决方案,它不会像您要求的那样删除错误的提交,而是恢复其效果(确实删除底部错误提交的变体):
您目前处于分离的 HEAD 状态,所以首先您想回到主分支的顶端(假设它是 master
):
git checkout master
git checkout -b newBranch
git revert badCommit
这不会从历史记录中删除 badCommit
,但会添加一个新提交,该提交会删除 badCommit
引入的更改。
然后您可以测试这是否解决了您的问题。
如果你高兴,你可以推送newBranch
到远程提交一个MR。根据您是否对远程具有写入权限,这看起来可能有所不同,但大致如下(假设远程称为 origin
):
git push -u origin newBranch
如果您真的想从新分支的历史记录中删除该提交,您可以遵循相同的工作流程,除了 3. 你会做的:
newBranch
中删除 badCommit
git rebase -i badCommit~
(注意 ~
:您在此命令中使用了 badCommit
之前的提交)。
然后将 pick
替换为 d
或 drop
对应于 badCommit
的行(它将在顶部行)或删除该行并保存。
如果删除该提交会产生任何冲突,您可能必须先解决冲突才能结束 rebase 。
如果您使用此选项,请非常小心,不要从任何已推送到远程的分支中删除您的错误提交,因为这会对您的协作者造成严重破坏。
关于git - 如何在本地还原 pull 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64467339/
我以这种方式恢复了 merge 提交(功能->开发): git revert -m 1 git push origin develop 已创建新提交 Revert "Merge branch 'fe
我确信我得到了一个很好的答案 my previous question因为我之前从那些发帖的人那里得到了很多关于其他问题的帮助。 但我显然做错了什么,因为当我复制示例代码时,对象检查器向我显示的 My
我现在处于一个非常愚蠢的境地。使用 git-hub for windows 我已经恢复了我最近的两个本地提交,我无法撤消这个(恢复命令)。很多代码都没有了。是否可能恢复还原的提交?我是 git 的新手
我正在使用 TortoiseGit。我想恢复到删除几张图片之前的某个时间点。 我该怎么做,我看到的还原方法是不正确的.... 最佳答案 右键单击您的工作目录并从 TortoiseGit 菜单中选择显示
我们使用 Terraform 在 AWS 中创建所有资源。如果一切按计划进行,那将很方便。但是,我们确实必须考虑出现问题的时间。我们有一个问题是 RDS 实例。它由 Terraform 创建和跟踪。在
跟在后面有什么区别? (右键单击项目文件夹)更新到修订版 XXX (右击日志列表)恢复到这个版本 (右键单击日志列表)还原此修订版的更改 最佳答案 (右键单击项目文件夹)更新到修订版 XXX Your
我不知何故搞砸了我的观点,我想重置它们,但是重置按钮是灰色的。有谁知道会导致这种情况的原因吗? 我希望我有更多的信息,但我真的只知道这些。 最佳答案 转到窗口菜单 => 重置透视图。 编辑: 该选项可
我有一个具有多用户登录功能的应用程序。现在,我为登录功能创建了 redux 存储。如果用户登录,根据其类型,它将重定向到特定的仪表板。如果学生用户登录,他应该只能访问学生仪表板,他不应该能够访问其他仪
我已经恢复了一些更改。需要知道之前恢复的代码中的文件和更改(差异)。 最佳答案 是的,正如 ElpieKay 所说,您可以使用 git log --grep='Revert' 。 还有一个默认消息“
出现错误 ERROR in [at-loader] ./src/app/components/partials/userPartial.tsx:101:33 TS2339: Property 'lev
我不明白为什么主 JS 文件不想从 './actions' 导入 todo 而不带括号? todos from './reducers' 类似的情况,import 没有任何问题。 主 js 文件: i
我像这样以编程方式应用 AngularJS 过滤器: filtered = $filter('number')(value, 2); 这会给我类似 5,000.00 的东西。我需要一种方法来获取过滤后
我正在尝试在我的应用中实现 Redux。所以,我创建了 action、reducer、store 等……现在我必须将状态传递给 reducer 并更改此参数( bool 值)的值。我不知道我做错了什么
我有一个带有如下 DIV 的跨度: Here is my 现在我可以将我的内容设置为跨度,例如: $(.span.foo).text("This removed my inn
我也想将另一个数据库名称下的特定数据库还原到另一台服务器。到目前为止,还不错。 我使用了这个命令: pg_dump -U postgres -F c -O -b -f maindb.dump main
有没有办法回滚上次的提交,放到单独的分支中,以供以后测试?我做了一些我不想完全丢弃的更改,我只是想将它们放在不同的分支中以供进一步测试。 谁能帮我解决这个问题? 最佳答案 是的,您可以实现这一点 -
开发人员正在对两个文件进行小的更改。但是在这次提交期间,他遇到了 merge 冲突,删除了很多东西(可能没有最新的版本)。然后它被推送到共享仓库,其他一些开发人员做了一些其他提交。 现在,我们注意到
git revert 是如何使用的? 这听起来像是一个重复的问题,但当人们问它时,回答通常是,按照 Revert to a commit by a SHA hash in Git? 使用 git re
Cloudflare 已修复其免费开源 CDNJS 中的一个严重漏洞,该漏洞可能影响互联网上 12.7% 的网站。 CDNJS为数百万网站提供超过4000个JavaScript和CSS库,这些库公
为了安全起见,需要经常对数据库作备份,或者还原。对于 MySQL 而言,最方便的方法可能就是用 phpMyAdmin 的导出、导入功能了,但如果你的数据库体积比较大,作为 Web 应用的 phpMy
我是一名优秀的程序员,十分优秀!