I keep a lot of stuff in git repositories, out there on the net. The problem is that I often find myself on machines that don't have git, and where I also don't have root access. I don't necessarily need to commit changes back to the repo, just get the current master of the git project.
Is there any way to download a git repo, without having git itself? The ideal solution would be some kind of portable shell script.
How to undo last commit(s) in Git?
How do I tell git to always select my local version for conflicted merges on a specific file?
git remove oldest revisions of a file
Since that kinda goes against the git philsophy of always having your entire repository history local, I doubt you are going to find anything.
Manage home directory across multiple machines with some differences?
Your best bet would probably be to just copy the sources from another git working directory via typical file copy methods (ftp a tarball, or whatever)..
How to apply a git patch from one repository to another?
EDIT: OOC, does the git client actually require admin access to install for personal use? I understand needing admin to install one of the git servers, but the client should be OK with just user access.
Middle-ground between submodules and branches?
Try installing (or compiling from sources) just the client..
How to custmoize git.el's diff face in Emacs?
Maintaining unrelated directories in one git repository
cd /pub/git/project.git git archive --format=zip --prefix=project/ HEAD > /home/project/public_html/downloads/project-dev.zip
. Also, to make this generate HEAD on-demand, use a server-side script to execute the shell script and provide the zip file for download.
. Here's a basic CFML script that does this - but it can obviously be written in any server-side language..
<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/>
. EDIT: The cgit web interface to git supports this out of the box.
View any commit and you can download a .zip, .tar.gz or a .tar.bz2.
When you want to merge the history, you can scp the new repo back and merge..