git - 如何删除未使用“git rebase”显示的提交?
问题描述
我有一个存储库,只有一个名为main
.
以下是git log --oneline --graph --all
输出:
* 92033fe (HEAD -> main, origin/main) [test] Add some new tests
* 5e281c4 [style] Improve code formatting
* 50ccf6a release-1
| * 307cfba (tag: 1.0.0) release-1
|/
* 7d734b4 [feat] Add new feature
* 0b3c993 [fix] Fix some tests
这里发生的事情是,事后我尝试将 commit 标记50ccf6a
为1.0.0
,但做错了,现在我有这个重复,并且似乎分支出来, commit 307cfba
,我想摆脱它,而不影响其余部分分支。
通常,我会这样做git rebase -i --root main
,但是这个特定的提交不会出现在提交列表中,只有我打算保留的那些:
pick 0b3c993 [fix] [fix] Fix some tests
pick 7d734b4 [feat] Add new feature
pick 50ccf6a release-1
pick 5e281c4 [style] Improve code formatting
pick 92033fe [test] Add some new tests
这里发生了什么?
解决方案
提交307cfba
不在分支上main
。如果你想要它离开 branch main
,这很容易:什么都不做,因为它已经不存在了。
307cfba
由于 tag 找到了Commit 1.0.0
。307cfba
如果您根本不想看到,即使使用git log --all
,您也需要删除标签1.0.0
(或强行移动它,但如果您打算这样做,一种简单的方法是先删除它,然后重新创建它)。
推荐阅读
- javascript - 将浏览器元素中的 [value] 内容存储为字符串
- visualization - 使 Kibana 字段可点击
- testing - Flutter:测试,如何推断部分 UI
- angular - 使用 Google Maps 地理编码服务时,Angular 中使用输入绑定的子组件速度很慢
- javascript - Desandro Masonry v4.2.1 重叠图像无间隙
- kdb - KDB如何从另一个命名空间分配根命名空间中的值?
- java - 双击操作不起作用,而单击对 selenium 中的元素起作用
- bash - AWK 打印和颜色 3 变量
- github - Github文件夹组织效率
- r - 在R中给定“边缘列表中的某些顶点名称未在顶点数据框中列出”时,查找哪些顶点未列出?