我知道我可以通过指定 --depth
标志进行浅层克隆。但是,这需要一个整数作为它的值。有什么方法可以使 datetime
具有相同的行为?我不想克隆整个存储库并检查以前的状态。
最佳答案
为什么是这样。至少只有 Git 2.11(2016 年第四季度)
参见 commit cccf74e , commit 079aa97 , commit 2997178 , commit cdc3727 , commit 859e5df , commit a45a260 , commit 269a7a8 , commit 41da711 , commit 6d43a0c , commit 994c2aa , commit 508ea88 , commit 569e554 , commit 3d9ff4d , commit 79891cb , commit 1dd73e2 , commit 0d789a5 , commit 45a3e52 , commit 3f0f662 , commit 7fcbd37 , commit 6e414e3 (2016 年 6 月 12 日)作者:Nguyễn Thái Ngọc Duy (pclouds
) .
帮助:Duy Nguyen (pclouds
) , Eric Sunshine (sunshineco
) , 和 Junio C Hamano (gitster
) .
(由 Junio C Hamano -- gitster
-- merge 于 commit a460ea4 ,2016 年 10 月 10 日)
git clone
现在包括:
--shallow-since=<date>:
Create a shallow clone with a history after the specified time.
日期格式应为 formats presented in git log
之一.
尽管测试显示原始日期:
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
“原始日期”是指:自纪元(1970-01-01 00:00:00 UTC)以来的秒数日期,后跟一个空格,然后是时区作为与 UTC 的偏移量(+ 或 - 有四个数字;前两位是小时,后两位是分钟)。
关于git - 是否可以根据日期时间进行浅层 git 克隆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10693820/