gpt4 book ai didi

git - 如何从 git 上丢失的提交中恢复代码?

转载 作者:太空狗 更新时间:2023-10-29 14:31:51 25 4
gpt4 key购买 nike

我使用 git checkout "commit number1" 回滚到之前的提交。然后我没有意识到我正在提交而不是在任何分支上,所以我在这里进行了更改并在 "commit number1" 中提交了代码。现在我切换到功能分支。 feature/branch1 我没有看到任何代码。如果我切换回 "commit Number1",我也看不到代码。我对任何事物都超然了吗?

$ git checkout 49da8b4d431

Note: checking out '49da8b4d431'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

git checkout -b new_branch_name

我怎样才能恢复代码?我的代码去哪儿了?

最佳答案

键入 git reflog 它将显示所有最近提交的列表。找到消息为 "commit number1" 的提交,然后记录此提交的 SHA-1 哈希值(它看起来像是 7 个字符的随机字母数字字符串,例如 s73nd9a).

要将此提交放入您的功能分支,一种选择是使用 git cherry-pick。尝试以下操作:

git checkout feature/branch1
git cherry-pick s73nd9a

这将应用您在分离头状态下所做的单个提交。请记住,cherry pick 本质上是一次提交的 merge ,因此您可能会遇到冲突。

关于git - 如何从 git 上丢失的提交中恢复代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39233073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com