Git没有在任何分支中提交,发生了什么?

Git没有在任何分支中提交,发生了什么?,git,Git,我们在master中缺少了一个我们不久前开发的功能。经过一点搜索,我们找到了该功能的一些提交。现在如果我们跑 git branch --contains xyz 它什么也不输出 我想我们不小心删除了包含这些提交的分支。但是有没有办法知道发生了什么 在git上不会删除任何内容(除非垃圾回收器通过),所有内容都可以恢复,因此,如果它存在,则仍然会存在 如果已安装gitk,请运行此命令并搜索丢失的分支: gitk --all `git reflog | cut -c1-7` 或者只需git ref

我们在master中缺少了一个我们不久前开发的功能。经过一点搜索,我们找到了该功能的一些提交。现在如果我们跑

git branch --contains xyz
它什么也不输出


我想我们不小心删除了包含这些提交的分支。但是有没有办法知道发生了什么

在git上不会删除任何内容(除非垃圾回收器通过),所有内容都可以恢复,因此,如果它存在,则仍然会存在

如果已安装gitk,请运行此命令并搜索丢失的分支:

gitk --all `git reflog | cut -c1-7`
或者只需
git reflog
并搜索丢失的更改


一旦找到,记下散列并检查它。

有人签出一个标记并在其上开发该功能吗?OP是否一直在使用一个“分离的头”,而不是转换为一个将提交的分支?
git
确实具有删除松散对象(任何分支或标记都无法访问的对象)的功能偶尔。当然,您可以配置是否应该自动使用它,以及对象应该保留多长时间才能被删除。没有gitk有什么办法吗?只需使用“git reflog”导航历史并搜索丢失的更改,这与gitk的GUI不太一样,但可以工作。将更新答案。