2012-06-12 64 views
1

對於我正在處理的項目,我需要保存特定版本的git存儲庫的所有文件。我已經瀏覽了大量有關git checkout的信息,但是我無法弄清楚對目錄中的文件做了什麼,更不用說保存該特定提交的版本了。有沒有人知道一種方式來獲取特定提交的git存儲庫的文件?謝謝。保存舊的git存儲庫版本

回答

2

Do a "git export" (like "svn export")?

git checkout [commit sha] 
git archive --format zip --output /full/path/to/zipfile.zip master 

不過,我不知道,爲什麼。通常人們會使用vcs,因爲它可以保存每個狀態,所以當你需要時,爲什麼不標記它並檢查出來?

+0

謝謝!這正是我需要的。 – SSEMember

+0

有沒有辦法讓文件沒有發送到.zip?我需要將它們解開,如果我要將它們全部解開,我會永遠在這裏。 – SSEMember

+1

你不能解壓整個檔案嗎? :?必須說:聽起來好奇。但是:在「checkout」之後,您將所有文件放在工作區中。如果你想從工作區中分離結賬,你可以使用我提供的鏈接中的第一個例子('git archive master | tar -x -C/somewhere/else'),或者僅僅創建一個本地克隆,結帳並刪除git ('git clone/local/path/to/repo/another/path; cd/another/path; git checkout [SHA]; rm -Rf .git;') – KingCrunch

0

我認爲tag會有所幫助。每次您想保存所有當前文件時,請輸入類似git tag -a v1.4 -m 'version 1.4'的內容。因此,一旦您想要恢復這些文件,首先提交或隱藏更改,然後鍵入git checkout v1.4,文件將回滾到您標記的時間。查看這些鏈接瞭解更多信息:how to taghow to get them back

相關問題