From: Jakub Narebski <jnareb@gmail•com>
To: Mike <fromlists@talkingspider•com>
Cc: git@vger•kernel.org
Subject: Re: I don't want the .git directory next to my code.
Date: Wed, 16 Jan 2008 05:13:47 -0800 (PST) [thread overview]
Message-ID: <m3bq7lncak.fsf@roke.D-201> (raw)
In-Reply-To: <478D79BD.7060006@talkingspider.com>
Mike <fromlists@talkingspider•com> writes:
> I'm learning git and I'm really annoyed that the .git directory lives
> in the same directory as my code. I don't want it there for three
> reasons:
>
> 1. My code lives on a development web server docroot, and I don't want
> the .git repository to end up getting published to the live site by
> accident. (I would imagine this would be a common need.)
Use git-archive (or, in older releases, git-tar-tree) and perhaps
post-update / post-recieve hook to publish latest version.
I think best layout would be:
(1) your private copy (clone) of repository, with working directory
(2) bare (without working directory) publishing repository,
with post-update hook
(3) published last version of your files
You can check 'todo' branch of git.git repository for scripts which
Junio uses to automatically update git HTML documentation at
kernel.org
> 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 ;-)
(For RPM based distributions git-archive is usually in git-core;
I don't know what package you have to install on Debian based distro).
> 3. The .git respository will get big, especially with binary files in
> it, and I want it someplace with a lot of disk space. And I don't want
> it to get tarred up when we migrate the site to a different
> server. (And tar isn't aware of hard links is it? wonderful.)
>
> How do I make the repository dir live somewhere else, the hell away
> from my code? Thanks
If you are inside repo, configuration variable core.worktree,
environmental variable GIT_WORK_DIR, or '--work-tree' command line
option (git --work-tree=/path/to/working/dir <cmd>) can be used to
point to working tree.
If you are in working area, environmental variable GIT_DIR, or
'--git-dir' command line option can be used to point to the
repository. You can also symlink .git in working directory.
There was an idea of '.gitlink' file, similar to CVS/Root file
in CVS, or core.gitdir configuration variable which points to
base GIT_DIR in unionfs / shadow like way, but neither got
implemented. You are welcome to it... of course after release :-)
--
Jakub Narebski
Poland
ShadeHawk on #git
next prev parent reply other threads:[~2008-01-16 13:14 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-16 3:27 I don't want the .git directory next to my code Mike
2008-01-16 3:50 ` Randal L. Schwartz
2008-01-16 4:07 ` Mike
2008-01-16 4:24 ` David Symonds
2008-01-16 4:29 ` Mike
2008-01-16 4:36 ` Sean
2008-01-16 17:31 ` Mike
2008-01-16 5:27 ` Neil Macneale
2008-01-16 17:23 ` Mike
2008-01-16 17:51 ` Johannes Schindelin
2008-01-16 18:15 ` Linus Torvalds
2008-01-16 18:25 ` Linus Torvalds
2008-01-17 5:42 ` Mike
2008-01-17 6:38 ` Kris Shannon
2008-01-17 10:34 ` Wincent Colaiuta
2008-01-17 15:17 ` Jeff King
2008-01-17 17:36 ` Linus Torvalds
2008-01-17 17:49 ` Johannes Schindelin
2008-01-17 18:02 ` Linus Torvalds
2008-01-17 18:10 ` Johannes Schindelin
2008-01-17 19:12 ` Mike
2008-01-17 19:20 ` Johannes Schindelin
2008-01-17 20:00 ` Mike
2008-01-17 20:08 ` Johannes Schindelin
2008-01-17 20:49 ` Mike
2008-01-17 20:57 ` Johannes Schindelin
2008-01-17 21:00 ` Mike
2008-01-17 21:05 ` Johannes Schindelin
2008-01-18 7:52 ` David Symonds
2008-01-22 10:27 ` Russ Dill
2008-01-17 21:05 ` Martin Langhoff
2008-01-18 8:41 ` Andreas Ericsson
2008-01-16 19:23 ` Junio C Hamano
2008-01-17 2:00 ` Ping Yin
2008-01-17 2:38 ` Linus Torvalds
2008-01-16 3:56 ` Dan McGee
2008-01-16 6:00 ` Mike
2008-01-16 6:07 ` Mike Krier
2008-01-16 6:09 ` Mike
2008-01-16 4:03 ` Nguyen Thai Ngoc Duy
2008-01-16 4:06 ` David Symonds
2008-01-16 4:18 ` Mike
2008-01-16 4:44 ` Daniel Barkalow
2008-01-16 4:55 ` Luke Lu
2008-01-16 17:23 ` Mike
2008-01-17 1:42 ` Sam Vilain
2008-01-16 4:13 ` Daniel Barkalow
2008-01-16 4:24 ` Mike
2008-01-16 10:37 ` Johannes Schindelin
2008-01-16 13:21 ` Bert Wesarg
2008-01-16 22:33 ` Wayne Davison
2008-01-16 9:59 ` Matthieu Moy
2008-01-16 10:36 ` Johannes Schindelin
2008-01-16 11:41 ` Bill Lear
2008-01-16 12:25 ` Matthieu Moy
2008-01-16 12:45 ` Johannes Schindelin
2008-01-16 17:40 ` Junio C Hamano
2008-01-16 17:52 ` Johannes Schindelin
2008-01-16 11:59 ` Matthieu Moy
2008-01-16 12:12 ` Johannes Schindelin
2008-01-16 13:13 ` Jakub Narebski [this message]
2008-01-17 0:59 ` Brian Downing
2008-01-17 1:35 ` Randal L. Schwartz
2008-01-17 2:59 ` Martin Langhoff
2008-01-17 5:44 ` Randal L. Schwartz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3bq7lncak.fsf@roke.D-201 \
--to=jnareb@gmail$(echo .)com \
--cc=fromlists@talkingspider$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox