我正在设置一个脚本,从远程git存储库下载应用程序源代码,然后启动应用程序构建过程。出于显而易见的原因,我只需要下载代码库的当前状态(修订版) - 不需要历史记录。有没有办法在git中实现这一目标?克隆整个存储库太痛苦了。
答案 0 :(得分:14)
您可以使用git clone --depth 1 ...
(请参阅FAQ: How do I do a quick clone without history revisions?)
答案 1 :(得分:12)
您可以尝试git checkout的--depth=1
参数:
git clone --depth=1 git://somehost/somerepo.git
或者,如果您的远程主机支持,您可以使用git archive
:
git archive --format=tar --remote=git://somehost/somerepo.git master | tar -xf -
答案 2 :(得分:1)
设置脚本意味着您将重复从同一个存储库构建。如果是这种情况,那么使用完整历史记录执行git clone
仍然是有益的,因为它只需要一次。之后,拥有本地历史记录将大大加快您的结帐速度甚至超过使用git clone --depth=1
,因为您只下载更改。如果您需要回到原始状态进行建设,git clean
将完成这项工作。