2010-04-17 29 views
3

新來git這裏...使用git作爲後端存儲系統

我想提交我的個人文件共享到一個git倉庫(文本,文檔,圖像等)。

當我進行修改各種文件隨着時間的推移,講述他們一路走來的git,如何去了解的東西,所以我可以:

  • 走出傳統的充盈/增量的業務。
  • 能夠做一個時間點文件或完整的克隆恢復。

基本上,我想要一些粒度,例如,如果我在一個特定的日子5次編輯文件。我將有5個版本的文件,我可以永遠引用。或者甚至只是按照特定日期的方式推導出所有內容的完整副本。

我目前使用rsync進行遠程增量同步(無文件版本控制)。

+3

問題在哪裏? – hasen 2010-04-17 05:38:42

回答

5

要初始化程序,你可以簡單。

然後使用Chris Jhonsen's suggestions之一來提交每次保存。

一旦您想保存所有歷史記錄並將它導出到別處,請使用git bundle
(和僅複製一個文件身邊,任何你想要的)

至於在某個日期從大包中提取回購的確切狀態,你可以使用Specifying Revisions section of git rev-parse

一REF後跟後綴@與封閉在一對括號
(例如{yesterday}日期說明書中,{1 month 2 weeks 3 days 1 hour 1 second ago}{1979-02-26 18:30:00})在先前的時間點指定參考值。
此後綴只能在參考名稱後立即使用,並且參考文件必須具有現有日誌($GIT_DIR/logs/<ref>)。
請注意,這會在給定的時間查詢您當地的參考點狀態;例如,你上週在你當地的主分部有什麼。
如果您想查看特定時間內的提交,請參閱--since--until

+0

感謝您的全力幫助。去做一些非常需要的閱讀。 – 2010-04-18 12:08:47

2

因此,要全面回答您的問題需要一個教程。總之,git應該爲此做出一個體面的解決方案。

你會想在某處建立一個git服務器並在那裏創建一個存儲庫並創建一個本地克隆。然後,您可以添加所有文件並將它們推送到服務器。

一件好事是你可以在不擔心服務器的情況下進行本地提交,然後在需要備份的時候進行推送。

如果我打算這樣做,我會擔心磁盤使用情況,但我使用的git存儲庫有很多歷史記錄,所以也許我過分擔心您的使用情況。在所有的文件所在的目錄

git init . 
git add -A 
git commit -m "initiali state of my documents" 

+0

很好,謝謝。我現在有服務器和東西安裝。我已經花了大約24小時的時間通過我的方式通過101的東西崩潰。只是一些基本的案例場景問題:1.我將如何在6/24/09回引用fileX?我如何將回購處於2/2/07的狀態?這是否通過有效的分支/標記完成? – 2010-04-17 02:06:41