iT邦幫忙

0

請問 git 如何保留原修改時間?

git

假設A電腦的xxx.txt擋案修改時間為2021-11-07,假如在B電腦git clone時修改時間會消失,只留下創建時間2021-11-08

Homura iT邦高手 1 級 ‧ 2021-11-08 13:04:44 檢舉
git log 不就有時間...
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

3
Ray
iT邦大神 1 級 ‧ 2021-11-09 02:21:01
最佳解答

如上所述, 這是 by Design 的正常 git clone 行為....

如果你非要叫他恢復原本在 Git 上面的時間的話,
請在 git clone 之後, 跑下面這個 Script 去重設:
https://gist.github.com/raytracy/ee8ea07fc360d689536cb1c7f2a978ee

工程詩 iT邦新手 4 級 ‧ 2021-11-09 10:14:03 檢舉

感激!

2

其實GIT原本就不負責所謂的修改時間。
且這並不只有在CLONE時會發生。CHEKCOUT其實如果是有變動的檔案也是會發生變成新的時間。

由上面的論點來說,不太可能可以用GIT來直接辦到這件事。
而大多數來說會有這樣需求的人其實也不多。
畢竟修改日期時間。對GIT來說也算是一種修改(雖然可以略過)
且一般來說修改檔案時間並沒有其必要性。
因為GIT本身就會記錄推上去的時間。
且並不會用檔案的修改時間為依據性。

工程詩 iT邦新手 4 級 ‧ 2021-11-09 10:14:07 檢舉

感激!

我要發表回答

立即登入回答