2014-02-12 46 views
16

當我使用克隆一個Git倉庫「git clone ...」命令,在我的本地庫中的所有克隆文件具有相同的修改時間與日期和時間發出git clone命令。混帳克隆的變化文件的修改時間

有沒有辦法克隆遠程git存儲庫與每個文件的實際修改時間

+1

這是一個操作系統問題,而不是Git問題。 – turnt

+2

您可以從'git log -n1 - file'獲取上次修改的時間;這就是'git'的用途。 – Amadan

+3

我不太明白「這是git的用途」這句話。爲什麼mod。時間不像CVS一樣保存? – user3302761

回答

12

的Git does not record timestamp for the files,因爲它是一個分佈式 VCS(這意味着你的計算機上的時間可能跟我的不同:有時間和日期沒有「中央」概念)

官方的說法不記錄該元數據被解釋爲in this answer

但是,您可以找到將嘗試恢復有意義日期的腳本like this one(或simpler version of the same idea)。

+3

但它可以節省遠程端的本地時間。如何根據修改時間來編譯文件時如何解決構建問題? – user3302761

+0

@ user3302761「它可以節省遠程端的本地時間」:這就是metastore.git方法所做的,正如http://stackoverflow.com/a/13284229/6309中所述:存儲元數據(不僅是時間戳)在回購時(通過預先提交鉤子),並在拉動(也通過鉤子)時重新應用它們。 – VonC

+2

好的,感謝您的回覆和建議的解決方案。我看到了討論,但是因爲git是版本控制系統而沒有保存mod時間的參數對我來說看起來並不強烈。我使用CVS多年,它具有此功能,並沒有傷害它。實際上,簡單的ls -ltr命令會顯示從CVS存儲庫檢出的已修改文件的順序。 – user3302761