所以在我的项目中,我通过以下方式切换到特定的提交:
git log(检查提交ID)
git checkout commit_id
然后我在那里添加了一些更改并提交了它们。
然后我结帐到另一个分支,在那里做些事情。
但是现在我无法返回在提交中所做的更改。当我再次结帐到commit_id时,它没有任何更改。我的分支中没有新提交,也没有创建任何新分支。但是我承诺在那里所做的更改。那么我的变更去了哪里?有谁知道?:(
当您签出非分支的内容时,您将进入“分离头”状态:您未附加到任何分支。当您从该状态提交时,除了新的提交不在任何分支上之外,其他所有操作都照常进行。如果您随后进行其他检查,那么该新提交将悬而未决,并从日志中消失,然后在将来的某个时间进行GC。
要恢复丢失的提交,可以使用git reflog
来提供头部位置的历史记录以及悬空提交的SHA-1。然后,您可以git checkout -b new-branch <sha-1>
用于检出该提交并附加到新分支。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句