如何在FETCH_HEAD的基础上撤销我的工作

4

当我从远程仓库拉取后,我收到了以下信息:

  • 分支 develop -> FETCH_HEAD 首先,将头部倒回以重放您在其上的工作... 快进到 f05183b231e55864ae8d99db9456167af3413b6a 的 my_topic

那么我如何在FETCH_HEAD上撤消我的工作呢?

2个回答

9

这个消息是确认git已经成功完成了操作,它不需要你做任何事情。

如果你想检查一个分支是否包含特定的提交:

git branch --contains <hash>

虽然与问题无关,但如果您想将提交放在其他提交之上,这就是使用 git rebase 的地方——重新排列提交。

例如:

git checkout master
...
git commit -vam "one"
...
git commit -vam "two"
...
git checkout somebranch
...
git commit -vam "three"
...
git commit -vam "four"

提交记录one+two和three+four在两个不同的分支中。为了按顺序获取它们:

git rebase master

或者,您可以通过以下方式轻松应用单个提交:

git cherry-pick <hash>

您可以使用git reflog来查找您认为缺失的任何提交的哈希值。


谢谢回答。实际上我犯了一些错误,我将远程仓库拉到了一个新分支上,所以我无法在该分支上看到自己的工作。 - Pan Ruochen

1
你先在自己的端上添加和提交了所有内容吗?要检查一下,请执行:
git status

如果你还没有这样做,你应该先这样做,然后再尝试拉取。

我已经提交了,但是在 git log 中看不到我的提交记录。但是我可以在 git reflog 中看到这些提交记录。 - Pan Ruochen
抱歉回复晚了,如果您仍然遇到问题,可以尝试将其重置为git reflog上可用的最后一个提交。例如,在执行git reflog之后,找到要重置的提交并执行git reset --hard [sha1 of commit] - bill-x
我没有任何要提交的内容,即使有也会收到这个消息。 - AMIC MING

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接