Git 恢复在分离头部时推动的更改

Git 恢复在分离头部时推动的更改,git,Git,我在git上有两个分支,master和SSL。 当我以为自己是在分行大师的时候,我实际上是超然的。我将更改推送到HEAD,然后签出到SSL分支并合并它。 当我这样做时,我发现提交给主服务器的更改在任何分支上都不存在,我看不到它们。 有没有办法恢复丢失的提交? 正在运行git reflog-n 20: 我已经对我想要的提交进行了硬重置,它仍然缺少一个我真的不知道如何操作的文件。基于git reflog,看起来您在94e0f8d HEAD@{3}上运行了git reset 只需在重置之前签出提交即可

我在git上有两个分支,master和SSL。 当我以为自己是在分行大师的时候,我实际上是超然的。我将更改推送到HEAD,然后签出到SSL分支并合并它。 当我这样做时,我发现提交给主服务器的更改在任何分支上都不存在,我看不到它们。 有没有办法恢复丢失的提交? 正在运行git reflog-n 20:

我已经对我想要的提交进行了硬重置,它仍然缺少一个我真的不知道如何操作的文件。

基于git reflog,看起来您在94e0f8d HEAD@{3}上运行了git reset

只需在重置之前签出提交即可恢复任何提交的工作:git checkout HEAD@{4}

最后一个想法:当您收到分离头部通知时,运行git status以获得一些有用的指导:

你处于“超脱的头部”状态。你可以四处看看 实验性更改并提交,您可以放弃任何提交 在这种状态下,通过执行 另一次结账

如果要创建新分支以保留所创建的提交,请 可以现在或以后再次使用-b和checkout命令来执行此操作。 例如:

git签出-b新分支名称

头现在在81f96ab。。。一些提交消息


当您说“消失”时,您想要的更改在master上不存在,但在其他分支上存在?请描述“消失”在这里的含义。如果您确实将更改提交到主分支,那么很难丢失这些更改。你做过git重置吗?你试过签出master吗?我已经更新了问题。使用git reflog。你介意将你的reflog添加到问题中吗?只需运行git reflog-n10,将10替换为包含问题的任意数量的提交。谢谢,我就是这么做的。谢谢
 e4a206b HEAD@{0}: checkout: moving from SSL to master
94e0f8d HEAD@{1}: checkout: moving from master to SSL
e4a206b HEAD@{2}: checkout: moving from SSL to master
94e0f8d HEAD@{3}: reset: moving to 94e0f8d
18aedb9 HEAD@{4}: checkout: moving from master to SSL
e4a206b HEAD@{5}: checkout: moving from e4a206b20456d004b5ad19bb859e15f481df9b90 to master
e4a206b HEAD@{6}: checkout: moving from SSL to master^0
18aedb9 HEAD@{7}: checkout: moving from master to SSL
e4a206b HEAD@{8}: checkout: moving from e4a206b20456d004b5ad19bb859e15f481df9b90 to master
e4a206b HEAD@{9}: checkout: moving from master to master^0
e4a206b HEAD@{10}: checkout: moving from d8b6feee2ae2595872d62ca2b25c01263b3bf74b to master
d8b6fee HEAD@{11}: merge SSL: Merge made by the 'recursive' strategy.
94e0f8d HEAD@{12}: commit: Support for os and badge count for ios
e4a206b HEAD@{13}: checkout: moving from 18aedb908898083d8b9d6941ec59f981950a3846 to master^0
18aedb9 HEAD@{14}: checkout: moving from bc071caacff35fca304aae97804fd9070d92913f to SSL^0
bc071ca HEAD@{15}: commit: Added support for sell option
e4a206b HEAD@{16}: checkout: moving from 18aedb908898083d8b9d6941ec59f981950a3846 to master^0
18aedb9 HEAD@{17}: checkout: moving from e4a206b20456d004b5ad19bb859e15f481df9b90 to SSL^0
e4a206b HEAD@{18}: checkout: moving from SSL to master^0
18aedb9 HEAD@{19}: commit: SSL