我知道我可以通过指定--depth
标志来进行浅层克隆。但是,这会以整数作为其值。有没有办法与datetime
具有相同的行为?我不希望克隆整个存储库并检查以前的状态。
答案 0 :(得分:4)
为什么是的。至少只有Git 2.11(2016年第4季度)
请参阅commit cccf74e,commit 079aa97,commit 2997178,commit cdc3727,commit 859e5df,commit a45a260,commit 269a7a8,{{3} },commit 41da711,commit 6d43a0c,commit 994c2aa,commit 508ea88,commit 569e554,commit 3d9ff4d,commit 79891cb,commit 1dd73e2, commit 0d789a5,commit 45a3e52,commit 3f0f662,commit 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 +或 - 四位数;前两位是小时,第二个是分钟)。