是否可以根据日期时间做一个浅git克隆?

时间:2012-05-21 23:13:58

标签: git date git-clone

我知道我可以通过指定--depth标志来进行浅层克隆。但是,这会以整数作为其值。有没有办法与datetime具有相同的行为?我不希望克隆整个存储库并检查以前的状态。

1 个答案:

答案 0 :(得分:4)

为什么是的。至少只有Git 2.11(2016年第4季度)

请参阅commit cccf74ecommit 079aa97commit 2997178commit cdc3727commit 859e5dfcommit a45a260commit 269a7a8,{{3} },commit 41da711commit 6d43a0ccommit 994c2aacommit 508ea88commit 569e554commit 3d9ff4dcommit 79891cbcommit 1dd73e2commit 0d789a5commit 45a3e52commit 3f0f662commit 7fcbd37(2016年6月12日)commit 6e414e3
帮助:Nguyễn Thái Ngọc Duy (pclouds)Duy Nguyen (pclouds)Eric Sunshine (sunshineco) Junio C Hamano (gitster)于2016年10月10日Junio C Hamano -- gitster --合并)

commit a460ea4现在包括:

--shallow-since=<date>:
  

在指定时间后创建一个带有历史记录的浅层克隆。

日期格式应为git clone之一 虽然测试显示了原始日期:

cd shallow-since &&
GIT_COMMITTER_DATE="100000000 +0700" git commit --allow-empty -m one &&
GIT_COMMITTER_DATE="200000000 +0700" git commit --allow-empty -m two &&
GIT_COMMITTER_DATE="300000000 +0700" git commit --allow-empty -m three &&
git clone --shallow-since "300000000 +0700" "file://$(pwd)/." ../shallow11 &&
git -C ../shallow11 log --pretty=tformat:%s HEAD >actual &&
echo three >expected &&
test_cmp expected actual

&#34;原始日期&#34;表示:日期为自纪元以来的秒数(1970-01-01 00:00:00 UTC),后跟一个空格,然后将时区作为UTC的偏移量(a +或 - 四位数;前两位是小时,第二个是分钟)。