2011-12-04 74 views
0

可以說,我無法訪問github。我的本地存儲庫對我有用嗎?我可以將文件回滾到早期版本嗎?如果是這樣,它是如何完成的?是否可以通過只訪問我的本地存儲庫來查看和使用舊版本的文件?

+6

您當地的回購應該是一個完整的git回購。你讀過http://book.git-scm.com/了嗎? – Mat

+1

這基本上是分佈式VCS的*整點*。這聽起來像你需要備份和理解你的版本控制的一般想法,而不是問具體問題。 [The Git Parable](http://tom.preston-werner.com/2009/05/19/the-git-parable.html)是Git工作的核心方式的一個很好的非技術性介紹。社區書(Mat的鏈接)和[Pro Git](http://progit.org/book/)也很受歡迎。 – Cascabel

回答

1

您的本地存儲庫包含完整的歷史記錄。通過啓動gitk,您的git歷史的圖形瀏覽器很容易看到。

要獲取舊版本的文件,可以使用例如git checkout <revision> <file>。例如git checkout HEAD^ foo.txt會給你前一版的foo.txt

探索舊版本文件的另一種方法是git show <revision>:<path>,它將向您顯示分頁器中文件的舊內容,而不是將其檢出到工作樹中。

訪問其他存儲庫(本例中爲github)的唯一命令是git push,git pullgit fetch。所有其他的git操作都只能使用本地可用的信息。

+0

那麼,還有一些執行網絡操作的其他命令('git remote'想起來了),但除此之外+1 – knittl

+0

是的,我簡化了:) – opqdonut

0

您的本地存儲庫具有其包含的任何分支的整個項目歷史記錄。請注意,它可能不包含github上列出的所有分支。

您應該閱讀git-checkout man page,它解釋瞭如何訪問各種版本,以及git-show man page,它在語法上略有不同。你也應該在Git Book中閱讀reset section

總之,git checkout <revision> <file>取代當前使用一個表格<revision>git show <revision>:<file>只顯示它。 HEAD命名上一次提交的修訂,HEAD^前一個。 git log將它們全部列出,最近一次以提交消息列出。

退房git-bisect如果你想看到很酷的東西。 :)

相關問題