我在git存储库中保留了很多东西,在网上.问题是我经常发现自己在没有git的机器上,而且我也没有root权限.我不一定需要将更改提交回repo,只需获取git项目的当前主服务器.
有没有办法下载一个git仓库,没有git本身?理想的解决方案是某种便携式shell脚本.
谢谢!
Pet*_*ton 15
在具有git存储库的服务器上,创建一个导出并压缩代码的shell脚本,然后从其他计算机下载该zip.
例如:
cd /pub/git/project.git
git archive --format=zip --prefix=project/ HEAD > /home/project/public_html/downloads/project-dev.zip
Run Code Online (Sandbox Code Playgroud)
此外,要使其按需生成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/>
Run Code Online (Sandbox Code Playgroud)
编辑:git 的cgit web界面支持这个开箱即用.查看任何提交,您可以下载.zip,.tar.gz或.tar.bz2
听起来你正在寻找的是能让你拥有一个本地工作目录和你的实际 git 存储库远程的东西。
因为这有点违背 git 的哲学,即始终将整个存储库历史记录保存在本地,所以我怀疑你会找到任何东西。您最好的选择可能是通过典型的文件复制方法(ftp 压缩包或其他方式)从另一个 git 工作目录复制源代码。
编辑:OOC,git 客户端实际上需要管理员权限才能安装供个人使用吗?我知道需要管理员来安装其中一台 git 服务器,但客户端只需用户访问就可以了。尝试仅安装(或从源代码编译)客户端。
| 归档时间: |
|
| 查看次数: |
14462 次 |
| 最近记录: |