2015-09-19 162 views
0

我一直在关注如何在Rails中构建博客,现在我已经陷入困境,想要访问GitHub上的以前的提交。我是新来的GitHub,并假定当开发者想要他的进步保存到GitHub上的教程中每一次,他援引在github上没有存储库提交?

$ git status 
$ git add . 
$ git commit -am "some info about the current commit" 

救他的项目在一定的状态。 那么,我一直在这样做,现在我已经到了我的项目破产的地步,并希望在工作时将其恢复到我最后一次提交。我调用了:

$ git log 

commit 7f6dd520095ead774a8e612048f52ee11fdfe154 
Author: danny rosenfeld <[email protected]> 
Date: Sat Sep 19 17:21:56 2015 +0300 

    Add pages 

commit b84c3a601aeacdacbd2a8c71b85e1236554a1275 
Author: danny rosenfeld <[email protected]> 
Date: Sat Sep 19 16:49:24 2015 +0300 

    add comments 

commit 5822d7c90d15696536d30d531f424863d58de6c7 
Author: danny rosenfeld <[email protected]> 
Date: Sat Sep 19 16:15:33 2015 +0300 

    Edit and delete posts 

它显示我的提交存在。现在我该如何访问它们?我不相信我创建了特定的存储库,但显然存在这些提交。

+0

你可以尝试'git checkout commitno'切换到特定的提交。 – Aks

+0

如何将特定提交的所有文件夹/文件保存到位置,即我的桌面? –

回答

1

您可以访问任何状态

git checkout <sha> 

哪里<sha>是你的提交哈希之一。 Git会找到任何唯一的前缀,所以你通常会看到人们只使用前6或7个字符,例如。 7f6dd52。如果你想回来到原来的位置,使用

git checkout <branch> 

其中<branch>可能是master,除非你已经签出不同的一个。

如果你想你的资料库恢复到这种状态,看看你想改变的分支,并运行

git reset <sha> 

默认reset使用--mixed选项,设置分支回到那个承诺,但单独留下您的文件内容。从那里,你可以重新提交你想要的作品。如果你想抛弃你的当前状态,指定--hard,Git将使你的仓库看起来完全像你指定的SHA。

如果你只是想扔出去,你还没有提交代码,最简单的方法是

git checkout . 

这将重置每个跟踪文件的状态在最后一次提交。

一旦你签出了你想要的提交,你可以创建一个副本或目录,就像其他目录一样。您的副本将包含.git/文件夹,因此它将实际上成为存储库的另一个克隆。如果您想完全脱离存储库,请在副本中删除.git/

既然你提到“我不相信我创建了一个特定的存储库”,请记住Git是一个独立于GitHub的工具。只要你git init,你有一个仓库,然后你可以在你的push GitHub上添加一个remote。在您推送到远程服务器之前,您的资源库位于本地,并具有完整的历拥有像GitHub这样的远程服务器对于冗余以及作为一个始终可用的服务器来与其他人协作非常有用。

一些相关的文档,你可能会喜欢:

0

您可以将文件恢复到过去与

提交
git reset --hard HEAD 

自上次提交跟踪文件以来所做的所有更改都将丢失。