【问题标题】:How to return back to unpushed commits after returning back to an earlier commit返回到较早的提交后如何返回到未推送的提交
【发布时间】:2017-03-14 16:14:18
【问题描述】:

我提交了我的代码,但没有推送它。让我们将此提交称为 #5 稍后我需要尝试早期版本。所以我检查了提交 #3。现在我想回到我的提交 #5。如何找出它的提交 id 并返回它?

试过 -git 日志,但它只显示从 #3 到 #1 的提交。

【问题讨论】:

  • 你试过git checkout HEAD了吗(我猜……我不知道这是否真的有效)
  • (也称为 dangling 提交,因为没有分支指向它们,但它们仍在某处)
  • 你用这个命令看到你的提交#5:log --graph --decorate --oneline --all 吗?
  • git log 显示从 HEAD 开始的提交,即从您的当前提交。如果您的意思是您使用 git checkout 将 HEAD 设置为较早的提交,那么这也可以解释 git log 输出。只需 git checkout 一些其他提交,或分支 name,例如 master,将您的 HEAD 移动到其他位置,然后 git log 将显示从那里向后工作的提交。

标签: git github version-control bitbucket


【解决方案1】:

你可以使用这个方法让 HEAD 重新指向提交 #5,只需运行这个命令:

git checkout 分支名称

之后,参考lvan的注释运行这个命令到查看日志:

git log --oneline --decorate --graph --all

你会发现它会将头部移动到最新的提交 #5

【讨论】:

  • 完成上述操作:运行 git log --online... 后,您会看到“丢失”的提交,您可以简单地 git reset --hard 到它
猜你喜欢
  • 1970-01-01
  • 2018-03-01
  • 1970-01-01
  • 2022-06-11
  • 2016-11-08
  • 1970-01-01
  • 2021-01-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多