git - 是否可以根据日期时间进行浅层 git 克隆?

标签 git date git-clone

我知道我可以通过指定 --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/

相关文章:

git - 使用 Maven/Jenkins/Git 创建发布标签

git - 由于默认设置,从 VSCode Remote-Container 到 AWS CodeCommit 存储库的连接失败

android - 我在哪里可以浏览 java.lang.String 的 Android 2.2 Froyo 源代码?

jquery - datepicker 中的 getFullYear 问题

date - 在DOS脚本中打印当前日期和时间

Git克隆一个已经是克隆的存储库

具有克隆访问权限的 github 个人访问 token

ruby - Git 用 CRLF 替换了我所有的 LF - 我该如何解决这个问题?

Hive 中不同格式的日期转换

python - 添加 jedi-vim 时出错