On Wed, Feb 23, 2011 at 3:54 PM, MDavis <marty1...@gmail.com> wrote:

>
> I am unsure as to the best practice regarding the repository. Is it
> best to create an individual repository for each site?


I would say so, yes. I'm pretty sure one of the main reasons the "one repo
per machine"
model is popular is due to svn caring more about directories than other
things.

You could use one repo for all your sites, but you'd probably end up feeling
like you
were bashing your head against the VCS.


> I did create a
> repository in one non-essential website; it created a ".git" directory
> in the webroot (/home/username/public_html/.git) and at the same level
> as pre-existing files. I did both add and commit commands. The
> repository was updated successfully.
>
> Should the repository exist in the webroot or should it be at the same
> level? (Perhaps "/home/username/git"?)
>
> What is the best way to deal with multiple sites on one server?
>
>
Well, there's different ways to go about it. Quite a few people are of the
opinion that the
version of the site that's hosted shouldn't be in a repo at all, just an
export of a specific
revision. I prefer the "production" version to be an export, not a repo --
there's generally
no need for code history on production. Your needs or preferences may
differ.

Here's how I deploy multiple sites on one server: (Disclaimer, I am not a
guru)

The git repo is on my local machine, possibly also on github or some other
shared place.
I set up VirtualHosts for each site. I go with the "stick em in
/home/sitename, create a user
and for the site, make sure that whatever needs permissions is in the
appropriate group, add
my "deployment" public key to the site user's .authorized_keys." I've been
considering having
apache run each virtual host as the respective user, but again, I'm not a
guru.

When I want to deploy, I generally create a tag in the repo on my machine,
and use fabric ( http://docs.fabfile.org/0.9.4/ ) to export the correct
version of the tag, ssh into the machine as the user, do whatever
backup needs done, and write in the new version of the files.

There are upsides and downsides to deployment methods, and everything else
you
can make a decision about in the process. I definitely recommend you look
into a tool like fabric or capistrano for deployment, it makes things quite
a bit easier.

Oh, and when you have your process down, you should probably automate it so
you don't
have to do all that mucking around manually.

Have fun!

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To post to this group, send email to git-users@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.

Reply via email to