From: Luke Lu Date: Wed, 16 Jan 2008 04:55:49 GMT Subject: Re: I don't want the .git directory next to my code. Message-ID: In-Reply-To: <478D85A9.6050807@talkingspider.com> On Jan 15, 2008, at 8:18 PM, Mike wrote: > > David Symonds wrote: >> On Jan 16, 2008 2:27 PM, Mike wrote: >>> 2. If I tar/gz my code and deliver it to a client, I don't want >>> the .git >>> dir slipping into the tarball, allowing my client to be able to >>> peruse >>> the history of what we did and when. >> Use git-archive. > > Thanks but this isn't sufficient. If we have one directory of our > web root in a git repository, say docroot/php, and we tar up > docroot, it will include php/.git. We don't want that. We would > have to go out of our way to avoid the .git directory. The point > is, we don't want anything in docroot that shouldn't be made live. git-archive generates an archive file *without* the .git directory. From git-archive(1): git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -) Create a tar archive that contains the contents of the latest commit on the current branch, and extracts it in /var/ tmp/junk directory. git archive --format=tar --prefix=git-1.4.0/ v1.4.0 | gzip > git-1.4.0.tar.gz Create a compressed tarball for v1.4.0 release. git archive --format=tar --prefix=git-1.4.0/ v1.4.0^{tree} | gzip >git-1.4.0.tar.gz Create a compressed tarball for v1.4.0 release, but without a global extended pax header. git archive --format=zip --prefix=git-docs/ HEAD:Documentation/ > git-1.4.0-docs.zip Put everything in the current head's Documentation/ directory into git-1.4.0-docs.zip, with the prefix git-docs/. IMHO, git export is probably a better name for the command. git- archive sounds like backup everything associated with git. __Luke