[英]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.