2015-09-19 203 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 

自上次提交跟蹤文件以來所做的所有更改都將丟失。