Re: I don't want the .git directory next to my code.
- From
Brian Downing <bdowning@lavos.net>
- Date
- Jan 17, 2008, 00:59 UTC
- Message-ID
- <20080117005954.GM18022@lavos.net>
- In-Reply-To
- <m3bq7lncak.fsf@roke.D-201>
On Wed, Jan 16, 2008 at 05:13:47AM -0800, Jakub Narebski wrote:
Show 7 quoted lines
> > 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 / git-tar-tree to tar.gz or zip code to send to client. > This has the advantage of not packing generated code, backup files, > etc., not only .git. Besides there is --exclude option to tar ;-)
I realize that this is not directly what's being talked about here, but one advantage to using "full Git" for deployment rather than something like "git archive" is that Git has already implemented an optimized-to-within-an-inch-of-its-life incremental filesystem updater - namely, "git checkout-index". If you always deploy with "git archive", it could take a very long time to update a large web site even if only a tiny change has taken place.
Yes, you could use rsync or some other tool, but Git already has the tools available, so why not take advantage of them?
(Now, maybe some custom scripting to call plumbing like "git checkout-index" would be more appropriate that using a "normal" working directory, but I think the advantages of using Git's optimized WD update tools here should be obvious for large sites...)
-bcd