git checkout到特定提交-以后无法恢复

亚当·瓦希涅夫斯基

所以在我的项目中,我通过以下方式切换到特定的提交:

git log(检查提交ID)

git checkout commit_id

然后我在那里添加了一些更改并提交了它们。

然后我结帐到另一个分支,在那里做些事情。

但是现在我无法返回在提交中所做的更改。当我再次结帐到commit_id时,它没有任何更改。我的分支中没有新提交,也没有创建任何新分支。但是我承诺在那里所做的更改。那么我的变更去了哪里?有谁知道?:(

昆汀

当您签出非分支的内容时,您将进入“分离头”状态:您未附加到任何分支。当您从该状态提交时,除了新的提交不在任何分支上之外,其他所有操作都照常进行。如果您随后进行其他检查,那么该新提交将悬而未决,并从日志中消失,然后在将来的某个时间进行GC。

要恢复丢失的提交,可以使用git reflog来提供头部位置的历史记录以及悬空提交的SHA-1。然后,您可以git checkout -b new-branch <sha-1>用于检出该提交并附加到新分支。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章