2012-07-27 79 views
0

后,我有一个混帐回购协议是这样的:混帐回来SHA-1检查出的旧版本

rev3 
rev2 
rev1 
Init repo 

和我签REV1,

然后我git log的样子:

rev1 
Init repo 

那么我该如何回到rev3?在结帐之前,我是否必须始终复制粘贴git日志? 这似乎是我无法接受的。我通过Go to particular revision阅读,但这不是我想要的答案,我相信必须有某种方式才能做到这一点,而不需要复制粘贴,就像tortoiseHg完成一样。

回答

1

如果你只是做了checkout回到rev1,那么当你提交时你的分支仍然指向rev3,所以只需签出该分支并且你应该很好。但是,如果您执行了硬重置,那么您必须检查reflog(git reflog)以获取rev3的SHA。

+0

谢谢!我就是这个意思!顺便说一句,我有点混淆'恢复''重置'和'结帐'。有什么不同? – shengy 2012-07-27 08:37:20

+0

我会推荐阅读ProGit的书。它可以在线免费获取(http://git-scm.com/book),但它也可以作为印刷书籍。 – dunni 2012-07-27 08:46:40

+0

我其实正在读这本书:) – shengy 2012-07-27 09:03:18