git - 我无法从 git 中删除特定的提交
问题描述
我正在尝试从 git log 中删除特定的提交。我已经访问了许多被问到的问题,并发现这git rebase -i
是要走的路。但这不起作用,为什么?下面是我的屏幕截图,显示我有 3 次提交,我正试图摆脱file1.txt
这是我一直在尝试做的事情:
git log --oneline
git rebase -i HEAD~2
然后我添加
drop <commit-hash of file1.txt>
then save and exit
我应该如何删除特定的提交?
如果那个特定的提交已经被推送到远程仓库,我该怎么办?
解决方案
要使用交互式变基删除提交,您必须从该提交的父级开始启动变基。这样,目标提交就会包含在待办事项列表中。
您没有这样做,因此您的目标提交不在待办事项列表中。您尝试手动添加它,但这是虚假的。
在您的目标没有父级的特殊情况下,您可以使用 --root 选项。那就是你所处的情况。
最后,请注意 Git 是关于提交的。不是文件。
推荐阅读
- ios - 在 iOS 15 通信通知中使用群组图标
- mysql - 如何使用 MySQL 在 Spring Boot REST API 中放置和获取任何格式的 JSON 对象?
- lua - 如何使用协程正确模拟线程
- c++ - 不理解 std::filesystem::directory_iterator
- android - 如何在选项菜单中的文本旁边添加图像?
- amazon-rds - 在多可用区 RDS 数据库中更改静态参数而不停机
- javascript - 如何创建不规则的 3D 多边形挤压形状 React-Three-Fiber
- javascript - 使用 PHP 或 JS 在我的所有页面中加载相同的模板,然后使用页面特定信息更新加载的模板
- ios - 如何过滤collectionvew单元格?
- c++ - 通过结构化绑定从对/元组元素移动