繁体   English   中英

如何根据特定日期将文件从远程git存储库提取到本地文件夹?

[英]How to fetch files from a remote git repository to a local folder, based on specific date?

我正在尝试克隆/拉动所有文件仅在特定日期(例如,2018-08-06之后)推送到远程存储库。 在我的远程存储库中,我有超过10000个文件,但是我只需要在特定日期将文件推送到存储库中。 使用以下命令,我可以查看特定时间段的日志:

git log --since=2018-08-03 --until=2018-08-06

现在,我只需要克隆这些文件,而不是克隆存储库中的所有文件。 请提出建议。

没有办法克隆或获取特定文件 ,只有git对象 (例如:commits)。 同样,对每个文件的更改可能会分散在多个提交中。

克隆

如果您还没有克隆,请制作一个浅表:

git clone --depth 1 "$url"

一种选择是在本地标识在​​该日期范围内修改的所有文件:

files="$(git log --pretty='' --name-only --since="$since"
  --until="$until")"

然后,获取涉及这些文件的每个提交

revs="$(git log --pretty='%H' -- $files | sort -u)"

并获取它们:

git fetch $revs

注意 :这是一种幼稚的方法,您可能最终会以任何一种方式获取很多提交。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM