从Git存储库克隆单个文件

时间:2020-05-04 07:27:49

标签: git

我想克隆一个子目录 https://github.com/CoreyMSchafer/code_snippets/tree/master/Django_Blog/12-Password-Reset/django_project

来自父目录

https://github.com/CoreyMSchafer/code_snippets.git

我已经查看了一些Stack Overflow的答案,他们说Git并非旨在从根文件夹下载特定文件。

我在cmd中尝试了以下命令

git clone https://github.com/CoreyMSchafer/code_snippets.git -b code_snippets/tree/master/Django_Blog/12-Password-Reset/django_project,但没有成功。

,如果这可能是一个重复的问题。

1 个答案:

答案 0 :(得分:4)

克隆整个仓库和下载文件是有区别的。 当您说克隆时,这意味着您对所有历史都感兴趣,这意味着随着存储库的发展文件发生了什么。我认为git不可能实现这一目标,因为它并非旨在这样做。不过,我很高兴能得到证明。

但是,如果您想“仅下载”文件的最后一个“快照”(我假设您真正想要的是),那么您可以选择以下几种方式:

  1. 使用 git存档命令:
git archive --remote=ssh://<address>/repo.git <BranchName|HEAD> /some/path/file.txt | tar -xO /some/path/file.txt > /tmp/file.txt
  1. 您可能对git存储库具有一些HTTP访问权限,并且可以使用 wget 下载文件。

阅读This thread in SO了解更多信息/想法