我可以在没有git的情况下下载git存储库吗?

时间:2009-02-27 14:53:38

标签: git

我在git存储库中保留了很多东西,在网上。问题是我经常发现自己在没有git的机器上,而且我也没有root权限。我不一定需要将更改提交回repo,只需获取git项目的当前主数据。

有没有办法下载git repo,没有git本身?理想的解决方案是某种便携式shell脚本。

谢谢!

4 个答案:

答案 0 :(得分:15)

在具有git存储库的服务器上,创建一个导出并压缩代码的shell脚本,然后从其他计算机下载该zip。

例如:

cd /pub/git/project.git
git archive --format=zip --prefix=project/ HEAD > /home/project/public_html/downloads/project-dev.zip


此外,要使其按需生成HEAD,请使用服务器端脚本执行shell脚本并提供zip文件以供下载。

这是一个执行此操作的基本CFML脚本 - 但它显然可以用任何服务器端语言编写。

<cfset OutputFilename = "#ProjectName#-dev.zip"/>
<cfexecute name="/home/project/latest.sh"/>
<cfheader name="Content-Disposition" value="inline; filename=#OutputFilename#"/>
<cfcontent file="./#OutputFilename#" reset type="application/zip"/><cfsetting showdebugoutput="false"/><cfabort/>


编辑:git的 cgit 网络界面支持此功能。查看任何提交,您可以下载.zip,.tar.gz或.tar.bz2

答案 1 :(得分:6)

如果您对git存储库所在的机器具有ssh访问权限,则可以将git存储库scp(1)到本地计算机。如果要合并历史记录,可以将新的仓库scp返回并合并。

答案 2 :(得分:5)

您可以在托管这些存储库的计算机上添加基于Web的Git浏览器吗?像Gitweb或类似的东西?

答案 3 :(得分:4)

听起来你正在寻找的东西可以让你拥有一个与你的实际git存储库远程的本地工作目录。

由于这种情况违背了总是让你的整个存储库历史本地的git philsophy,我怀疑你会找到任何东西。你最好的选择可能是通过典型的文件复制方法(ftp tarball,或其他任何东西)从另一个git工作目录中复制源代码。

编辑: OOC,git客户端实际上需要管理员访问权限才能安装供个人使用吗?我理解需要管理员安装其中一个git服务器,但客户端应该没有用户访问权限。尝试仅在客户端安装(或从源代码编译)。