在修复一个被遗忘的分叉后,如何回到我之前的提交?

时间:2016-01-13 20:59:06

标签: git fork

我正在处理Rspec书籍,忘了在我开始工作之前分叉示例存储库。我查找了如何修复它并按照forgot to do a fork on GitHub before starting my work中的说明进行操作。但是,在此过程中,我解除了所有环境设置,现在我收到了一堆关于nokogiri的错误。

我之前已经处理了旧版本的nokogiri并且 问题是" git log"只告诉我有关我分叉的存储库的git历史记录,而不是我过去几天所做的工作。

我确定它在某处,因为git永远不会忘记任何东西,但我不知道如何找到它。救命啊!

1 个答案:

答案 0 :(得分:1)

转到原始仓库并获取其主分支的SHA(假设这​​是您分叉的位置)。

让我们说这是一个ABCDE。

在我们进行更改之前,请确保您有一个干净的工作目录和索引,因此如果需要,请提交,然后运行git status以确保一切都干净。

现在,让我们重新处理您的仓库,以便在分叉时明确:

git branch myFork
git checkout master
git reset --hard ABCDE
git checkout myFork

现在,您可以将myFork分支与master进行比较,以查看差异。例如,您可以这样做:

git diff master..myFork

当你工作时,每当你达到一个稳定点时,经常提交是一个非常好的主意。通过这种方式,您可以跟踪小的里程碑,并在遇到困难时恢复。

不要担心提交太多......在将它们推送到公共存储库之前,你总是可以将提交压缩在一起。